echo "-16"> /proc/<pid>/oom_adj
Thanks for that - yes, I know about "oom_adj", but it doesn't (totally)
work. "udevd" has a default of "-17" and it got killed anyway.
Also, the only thing this server runs is VMs so if they can't be killed
oom-killer will just run through the everything else (syslogd, sshd,
klogd, udevd, hald, agetty etc) - so on balance its a case of which is
worse? Without those daemons the system can become inaccessible and
could become unstable, so on balance it may be better to let it kill the
VMs.
My current work-around is :-
sync; echo 3 > /proc/sys/vm/drop_caches
I run it once a week midday Sunday in a cron job. This drops all blocks
from the disk cache, and free up pretty all of LOWMEM - which sounds
terrible, but its not that bad as each VM has its own cache anyway.
After running it I get ~2000 blocks/sec read for 1 minute, then ~20 to
50 blocks / sec read for the next few hours - which in terms of our disk
RAID is nearly nothing. My "normal" level of disk reads is zero.
BTW: I've had very good results with "-cpu host". Its reduced my context
switching considerably - up to 50% on one server - and reduced disk i/o
(not quite sure why!).
James
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html