oomkill – Ivan Pesin https://pesin.space/blog Articles & Translations Wed, 19 Oct 2016 02:08:18 +0000 en-US hourly 1 https://wordpress.org/?v=5.1.1 Как определить и настроить вероятность с которой процесс будет завершён при нехватке оперативной памяти /blog/2009/06/%d0%ba%d0%b0%d0%ba-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-%d0%b8-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%80%d0%be%d1%8f%d1%82%d0%bd%d0%be%d1%81/?utm_source=rss&utm_medium=rss&utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25be%25d0%25bf%25d1%2580%25d0%25b5%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b8-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2580%25d0%25be%25d1%258f%25d1%2582%25d0%25bd%25d0%25be%25d1%2581 Thu, 25 Jun 2009 12:24:59 +0000 http://www.n-ix.com/ipesin/?p=256

Ядро Red Hat Enterprise Linux 5.2 создает 2 файла для каждого процесса, которые позволяют управлять вероятностью, с которой этот процесс будет завершён, когда система будет вынуждена заврешать процессы из-за нехватки оперативной памяти (out-of-memory, OOM). Это файлы:

  • /proc/[pid]/oom_adj — используется для изменения “OOM-счёта” (OOM score), который определяет вероятность завершения процесса при нехватке оперативной памяти. Чем больше значение OOM-счёта, тем больше вероятность того, что процесс будет завершён подсистемой oomkill. Допустимые значения находятся в промежутке от -17 до 15; обратите внимание, что OOM-счёт равный -17 означает, что [pid] не будет завершён при нехватке памяти.

    Чтобы задать OOM-счёт, просто выполните команду echo значение с выводом в файл /proc/[pid]/oom_adj. Например, чтобы установить OOM-счёт равный 15 для процесса 1111, выполните:

    echo 15 > /proc/1111/oom_adj

    Учтите, что OOM-счёт наследуется процессом-потомком от родительского процесса при использовании системных вызовов семейства fork().

  • /proc/[pid]/oom_score — содержит текущий OOM-счёт для данного процесса. Используйте команду cat чтобы посмотреть текущий OOM-счёт для процесса с номером [pid]. Например, чтобы узнать текущий OOM-счёт для процесса 1111, выполните:

    cat /proc/1111/oom_score

Прим. пер.: Значение в файле oom_score — динамически вычисляемое, оно не равняется значению, которое передаётся в файл oom_adj. Значение, передаваемое в файл oom_adj, меняет вероятность в большую или меньшую сторону, а не задаёт абсолютное значение.

]]>