Re: kswapd eats the cpu without swap

Peter Wächtler (pwaechtler@loewe-komp.de)
Thu, 02 Aug 2001 11:38:15 +0200


BERECZ Szabolcs wrote:
>
> some notes again.
> when kswapd was working, there was no hdd activity at all.
> every interrup was handled after kswapd finished the 'work'.
> after a reboot everything looks ok with the same modules, and
> approximately the same load.
>
> oh, I almost forgot, the swapfile is on a reiserfs partition.
>
In a former message you wrote:
"I have 160M of ram, and I don't use swap at all,"

Then you meant: no single page was swapped out?

I thought you was observing the same as me:

when the system runs low on memory (on a 64MB setop box like device
with _no_ swap partition/file), the harddisk gets very active and
the system does not respond for 1-5 seconds.
The VM (in mm/oom_kill.c) is killing the "memory hog" (simple program
that calls malloc() in a loop and touching the mem). I think the
amount of "busyness" depends on the size of malloc chunks. If they
are bigger the process gets killed faster.

Until now, I don't understand what is happening. Several subsystems
in the kernel compete for memory: dentry cache, buffer cache, VM
that wants at least /proc/sys/vm/freepages free.
Is demand loading involved? Does the VM quashes text pages when
running low on memory? What about relocation then?

Or simpler: what keeps the harddisk so busy?
It is on 2.4.2 with a single ext2 "/" mounted with noatime,sync
but the question is meant more general.

Anybody?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/