From: Nick Piggin <nickpiggin@yahoo.com.au>
To: � <terje_fb@yahoo.no>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Linus Torvalds <torvalds@osdl.org>
Subject: Re: 2.6.10: kswapd spins like crazy
Date: Fri, 04 Feb 2005 11:12:53 +1100 [thread overview]
Message-ID: <4202BE05.9090901@yahoo.com.au> (raw)
In-Reply-To: <20050203195033.29314.qmail@web51608.mail.yahoo.com>
Terje Fåberg wrote:
> Terje Fåberg <terje_fb@yahoo.no> skrev:
>
>
>>The kernel is compiling right now, but I cannot
>>reboot this machine until six or seven o'clock
>>tonight (CET). I will report then.
>
>
> Well, well, I rebooted the same kernel, now with
> MAGIC-SYSRQ enabled. At first the kswapd-effect
> wouldn't show up, but now the image is much clearer
> than before. kswapd eats constantly 95% cpu time while
> the system is "idle".
>
> The System is quite sluggish. Switching between
> applications needs ages. After Eclipse has been active
> for a few minutes, I it lasts 45 seconds until enough
> of Mozilla is swapped back in, and Mozilla has redrawn
> its window.
>
> Complete info including SysRq-Meminfo is attached.
>
Thanks very much, this is a good help.
> galileo:~# cat /proc/vmstat > pre ; sleep 10 ; cat /proc/vmstat > post
>
> galileo:~# cat pre
...
> pgscan_kswapd_high 0
> pgscan_kswapd_normal 2504667
> pgscan_kswapd_dma 615532032
...
>
> galileo:~# cat post
...
> pgscan_kswapd_high 0
> pgscan_kswapd_normal 2504667
> pgscan_kswapd_dma 649881006
...
So we can see it is trying to scan the DMA zone.
> galileo:~# dmesg
> [...]
> SysRq : Show Memory
> Mem-info:
> DMA per-cpu:
> cpu 0 hot: low 2, high 6, batch 1
> cpu 0 cold: low 0, high 2, batch 1
> Normal per-cpu:
> cpu 0 hot: low 32, high 96, batch 16
> cpu 0 cold: low 0, high 32, batch 16
> HighMem per-cpu: empty
>
> Free pages: 7872kB (0kB HighMem)
> Active:48698 inactive:86241 dirty:0 writeback:0 unstable:0 free:1968 slab:4509 mapped:50560 pagetables:1717
> DMA free:80kB min:80kB low:100kB high:120kB active:0kB inactive:11716kB present:16384kB pages_scanned:123 all_unreclaimable? no
> protections[]: 0 0 0
This is the reason why: DMA only has 80K free, and kswapd won't stop until either 120K
is free, or all_unreclaimable gets switched on.
Now clearly all_unreclaimable should be getting set if nothing can be reclaimed (although
it is possible that non pagecache allocating and freeing can mess it up, that's unlikely).
Hmm, your DMA zone has no active pages, and pages_scanned (which triggers all_unreclaimable)
is only incremented when scanning the active list. But I wonder, if the pages can't be
freed, why aren't they being put on the active list?
Nick
PS. let's not release 2.6.11 just yet :\
next prev parent reply other threads:[~2005-02-04 0:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-03 10:29 2.6.10: kswapd spins like crazy Terje Fåberg
2005-02-03 10:47 ` Nick Piggin
2005-02-03 11:54 ` Terje Fåberg
2005-02-03 19:50 ` Terje Fåberg
2005-02-04 0:12 ` Nick Piggin [this message]
2005-02-04 0:56 ` Nick Piggin
2005-02-04 1:16 ` Andrew Morton
2005-02-04 1:19 ` Nick Piggin
2005-02-04 10:26 ` Terje Fåberg
2005-02-04 17:26 ` Terje Fåberg
2005-02-04 22:18 ` Nick Piggin
2005-02-05 7:12 ` Terje Fåberg
-- strict thread matches above, loose matches on Subject: below --
2005-02-04 16:16 Weathers, Norman R.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4202BE05.9090901@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=terje_fb@yahoo.no \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox