ограничить использование памяти, чтобы предотвратить обмен

У меня есть SSD и 8 ГБ памяти, и нет раздела подкачки. Мое нормальное использование никогда не требует больше, чем 3-4 ГБ. Однако время от времени я замечал, что некоторые программы с утечкой памяти все еще могут «заморозить» систему, и она сразу станет непригодной для использования. Я заметил, что тогда запускается процесс kswapd.

  1. Что, вероятно, делает kswapd без пространства подкачки? Я не хочу, чтобы система менялась как на раздел подкачки, так и на файл подкачки.

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

  1. Есть ли способ полностью отключить подкачку (а не просто уменьшить перестановку) и заставить ядро ​​уничтожать процессы, которые, например, берутся. 50% оперативной памяти?
1
задан 5 April 2015 в 21:09

1 ответ

Обратите внимание, что ps (на моем Ubuntu 14.04.2) показывает "kswapd" как:

root        39     2  0 Mar23 ?        00:03:27 [kswapd0]  

" []" окружение имени процесса указывает, что kswapd0 часть кода ядра, который, для системного удобства, работает как процесс.

kswapd не только управляет свопингом, он также управляет потоком памяти среди буферов, кэша, доступного, и т.д.

, Наличие НИКАКОЙ области подкачки предотвратит свопинг. Без свопинга, когда пожиратель ресурсов RAM выделит всю память, следующий процесс, который запросит RAM (пожиратель ресурсов или не), получит OOM (Из Памяти) ошибка и будет остановлен. Обратите внимание, что это - не обязательно пожиратель ресурсов памяти, который будет уничтожен, просто первый процесс для запроса RAM, когда не будет ни одного (или нет никаких блоков памяти, больше, чем запрос)

1
ответ дан 5 April 2015 в 21:09

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

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