Я не хочу, чтобы мой компьютер обменивался данными на диск. У меня нет раздела подкачки:
$ 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, понедельник, 11 апреля 03:31:24 UTC 2011 x86_64) google-chrome (13.0.782.24 beta) регулярно отправляет мою машину в смертельную спираль подкачки. Или, по крайней мере, что-то похожее на обмен: X обновляется безвозвратно, вспыхивает дисковод, диаграмма памяти панели 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 самостоятельно, в этой ситуации?