I do not want my computer to swap data to disk. I have no swap partition:
$ free total used free shared buffers cached Mem: 3841912 3670012 171900 0 74980 699652 -/+ buffers/cache: 2895380 946532 Swap: 0 0 0
Back in the day (maybe as recently as kernel 2.4?) this used to work. Memory-hungry processes would be killed by the oom killer and I would restart them. But now (Linux 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64) google-chrome (13.0.782.24 beta) regularly sends my machine into a death-spiral of swapping. Or at least something that feels like swapping: X windows take forever to update, disk drive whirs, gnome panel memory chart hits the ceiling, and I see this message in the syslog:
rtkit-daemon: The canary thread is apparently starving. Taking action. rtkit-daemon: Demoting known real-time threads. ...
But, according to syslog, the kernel does not run the oom killer. For good measure, I set swappiness to 0:
$ cat /proc/sys/vm/swappiness 0
My workaround is to use ctrl-alt-sysrq-f when this starts to happen. Anyone have a recipe for configuring Linux to run oom_kill on its own, in this situation?