как настроить Linux для вызова oom kill самостоятельно

Я не хочу, чтобы мой компьютер, чтобы выгружать данные на диск. У меня нет раздела подкачки:

$ 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 самостоятельно, в этой ситуации?

10
задан Joe
08.12.2022 23:01 Количество просмотров материала 2499
Распечатать страницу

2 ответа

OOM не обязательно убивает процесс, который вы думаете, что это будет. Читайте об этом здесь: http://lwn.net/Articles/317814/

Я подозреваю, что происходит в том, что, поскольку chrome использует другой процесс для каждой страницы, это сбивает с толку эвристики OOM-killer и другие процессы убивают, а не родительский процесс chrome.

по данным этой, ООМ-убийца любит убивать хорошие процессы. Поэтому попробуйте настроить chrome на приятность больше 0.. может сделать его более цель :-)

3
отвечен sml 2022-12-10 06:49

Я пришел к выводу, что современный linux не любит работать без виртуальной памяти. Возможно, избавление от swap имело смысл во времена медленных жестких дисков / старых алгоритмов VM / и т. д. Или, может быть, вы могли бы прыгать через обручи, чтобы настроить убийца Оом...

но я работал с файлом подкачки в течение последних нескольких месяцев, и я гораздо счастливее с поведением низкой памяти моей машины. Немного замедляется на пределе, но легко вмешаться и убить память голодных процессов, чтобы получить вещи обратно в нужное русло.

0
отвечен Joe 2022-12-10 09:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх