2013-04-02 2 views

ответ

9

Ядро Linux Управляет условиями низкой памяти с использованием OOM(Out Of Memory) Killer. Стратегия убийцы OOM заключается в том, чтобы убить некоторый процесс или процессы, чтобы позволить процесс распределения получить необходимую ему память.

Чтобы выбрать процесс для убийства, убийца OOM вычисляет значение с именем Badness. Затем он выбирает процесс с максимальной плотностью, которую нужно убить. Если был выбран процесс выделения, OOM завершает свою работу. Если был выбран какой-либо другой процесс, убийца OOM можно вызвать более одного раза, если предыдущий запуск убийцы OOM не освободил достаточно памяти.

Процесс должен быть убит выбран таким образом, что

  • Процесс корень не убит.
  • Мы теряем минимальное количество выполненных работ.
  • мы восстанавливаем большой объем памяти.
  • Мы хотим убить минимальное количество процессов (одно).
  • Мы пытаемся убить процесс, который пользователь ожидает от нас убить, этот алгоритм был тщательно настроен, чтобы соответствовать принципу наименьшего удивления.

Мы можем настроить ОЫЙ киллер, используя значение /proc/sys/vm/overcommit_memory

0-эвристический памяти overcommit (настройка по умолчанию) -Obvious overcommits из адресного пространства отказалось

1-Всегда overcommit

2-отключить overcommit -Когда overcommit_memory установлен на 2, полное согласование адресного пространства для системы не допускается превышать переменный или настраиваемый процент (overcommit_ratio -default равен 50) физического ОЗУ

Простой способ доказать, что linux обрабатывает OOM - это постоянное выделение памяти через malloc и memset память до тех пор, пока процесс не закончится и он будет убит (появляется в dmesg).

Стандартные тесты из памяти можно найти в Linux Test Project (LTP) доступны на LTP Source Forge

Тесты доступны в LTP/testcases/ядро ​​/ MEM/оот

+0

спасибо .. это большая помощь от вашего конца ,, спасибо .. – Happy

+0

Спасибо, Harshitha. И знаете ли вы, есть ли какой-либо интерактивный способ убить процесс выбора в рабочем режиме, когда требуется (память)? – Henry

 Смежные вопросы

  • Нет связанных вопросов^_^