This months Login had a very interesting article entitled, "Tuning the Linux Kernel for Virtualization", which apparently addressed the OOM Killer issues that enterprises occasionally experience when deploying Linux on VMware ESX.
Unfortunately, I have to assume the article was written for some other kernel than that which is deployed with RHEL5.1 as the recommended parameters seem to have changed names, usage, or default values.
I had my own problems with the Linux OOM Killer a long time back when I first experimented with VMware GSX, however enhancements in ESX essentially got rid of the issue by allowing VM's to set their own minimum and maximum reservations.
I'd be interested to see what other kernel parameters RHEL5 admins of ESX deployments advocate.
I use the following:
vm.min_free_kbytes = 65536 kernel.sysrq = 0 kernel.core_uses_pid = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.core.rmem_default= 262144 net.core.wmem_default= 262144 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_congestion_control = bic net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1 vm.swappiness = 20
And, boot with:
divider=10
notsc
iommu=soft
