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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to