Messages in this thread | | | Date | Tue, 13 Jul 2004 21:17:21 -0700 | From | Andrew Morton <> | Subject | Re: VM Problems in 2.6.7 (Too active OOM Killer) |
| |
Peter Zaitsev <peter@mysql.com> wrote: > > The reason for me to disable swap both in 2.4 and 2.6 is - it really > hurts performance. In some cases performance can be 2-3 times slower > with swap file enabled. Using O_DIRECT and mlock() for buffers helps > but not completely.
It's strange that swap should harm performance in this manner. Is that also the case on 2.6?
wrt this OOM problem: it's possible that your ZONE_NORMAL got filled with anonymous memory which the VM is unable to do anything about. If you're going to run a highmem box swapless then you should tune the kernel so that it doesn't use so much ZONE_NORMAL memory for anonymous pages.
Try
echo 500 > /proc/sys/vm/lower_zone_protection
then do:
echo m > /proc/sysrq-trigger; dmesg -c
You'll get output like this:
Normal free:407192kB min:936kB low:1872kB high:2808kB active:1572kB inactive:410348kB present:901120kB protections[]: 0 468 128724
^^^^^^
This number here means that the VM will make 128724 pages (500MB) of the normal zone ineligible for anonymous memory and pagecache allocations. That is probably an appropriate setting for your application. If you set lower_zone_protection too low you'll still get OOMs. If you set it too high the file caching efficiency may suffer a little. - 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/
| |