Набор уничтожающая корректировка OOM к процессу на запуске?

Существует ли способ установить уничтожающее право значения корректировки OOM, когда процесс демона (Apache в моем случае) запускается? Я хотел бы дать процессам Apache более высокую вероятность того, чтобы быть уничтоженным и сделать фактически невозможным для некоторых более жизненных сервисов быть уничтоженным уничтожителем OOM.

4
задан 22 August 2019 в 10:13

2 ответа

Я думаю Вы, лучший выбор состоял бы в том, чтобы добавить отдельный сценарий как часть Вашего init.d. В нем Вы захотите сделать что-то вроде этого

echo 15 > /proc/`pidof APP_NAME`/oom_adj

pidof APP_NAME получит идентификатор процесса приложения с тем именем. Запись 15 к/proc/{pid}/oom_adj взлеты "вредность" процесса {pid}, создание его более вероятно, чтобы быть уничтоженным уничтожителем OOM.

Статья Taming уничтожитель OOM из LWN.net также намекает на некоторые другие идеи, которым предложили позволить спецификацию "oom_victim", но я не уверен ни один из них, находится на самом деле в ядре.

BTW: лучшее решение состояло бы в том, чтобы избежать необходимости использовать Уничтожителя OOM во-первых. Помните Micro$oft's незаписанный девиз: нет никакой проблемы, которую не может решить больше RAM.

[Примечание: Если мог бы быть больше чем один из этих процессов, можно хотеть пересмотреть код немного.]

4
ответ дан 1 December 2019 в 09:56

Для человечности 15.04 это изменилось.

Корректный способ установить oom, устанавливающий для pid,

echo 42 > /proc/666/oom_score_adj

вместо /proc/666/oom_adj

0
ответ дан 1 December 2019 в 09:56

Другие вопросы по тегам:

Похожие вопросы: