Я не хочу, чтобы мой компьютер, чтобы выгружать данные на диск. У меня нет раздела подкачки:
$ free total used free shared buffers cached Mem: 3841912 3670012 171900 0 74980 699652 -/+ buffers/cache: 2895380 946532 Swap: 0 0 0
назад в день (возможно как с ядром 2.4? раньше это срабатывало. Голодные до памяти процессы были бы убиты убийцей оома, и я бы перезапустил их. Но теперь (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) регулярно отправляет мою машину в смертельную спираль обмена. Или, по крайней мере, что-то, что похоже на замену: X обновление windows занимает вечность, дисковод whirs, диаграмма памяти панели gnome достигает потолка, и я вижу это сообщение в системном журнале:
rtkit-daemon[1771]: The canary thread is apparently starving. Taking action. rtkit-daemon[1771]: Demoting known real-time threads. ...
но, согласно syslog, ядро не запускает oom killer. Для хорошей мерой, я установил swappiness в 0:
$ cat /proc/sys/vm/swappiness 0
мой обходной путь должен использовать ctrl-alt-sysrq-f, когда это начинает происходить. У кого-нибудь есть рецепт настройки Linux для запуска oom_kill самостоятельно, в этой ситуации?