Ubuntu убивает процессы, когда больше нет оперативной памяти

На Ubuntu Box с 4 ГБ, я использую apache с некоторыми mpm + mysqld. Кроме того, есть постфикс, mongod и иногда некоторые активные процессы imagemagick / convert.

В 99% дней это нормально. Однако иногда (не в часы пик, а, например, в 3 часа ночи - хотя процесс резервного копирования начинается на несколько часов позже), серверу не хватает оперативной памяти. Тогда это убивает процессы и, к сожалению, начинается с apache и / или mysqld: - (

У меня есть возможность определить, какой процесс является «важным» или высокоприоритетным? Например, я бы определил 1) apache 2 ) mysql 3) postfix 4) convert 5) mongod < - насколько я знаю, mongod очень вежлив и при необходимости выпустит ram для других приложений.

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

Thx

1
задан 18 June 2012 в 13:26

2 ответа

Что ж, в System Monitor вы можете просто назначить приоритет, щелкнув правой кнопкой мыши по процессу и выбрав приоритет изменения. Если у вас не запущен графический интерфейс, вы должны использовать команду renice, просто загляните на страницу man .

0
ответ дан 18 June 2012 в 13:26

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

Если ваша стратегия заключалась в том, чтобы обходиться без файла подкачки, чтобы заставить ОС использовать ОЗУ, я предлагаю вместо этого иметь файл подкачки и использовать настройку swappiness, чтобы ОС использовала в основном ОЗУ. Узнайте, как это сделать, здесь: Как настроить перестановку?

10 - типичное агрессивное значение для swappiness. Я обнаружил, что при значениях меньше 10 ОС, казалось, расставила приоритеты при выгрузке свопинга поверх реального запуска программ. Другими словами, когда у меня кончилась память, все сильно замедлилось. Так что, возможно, начните с 10 или что-то близкое и посмотрите, насколько хорошо он использует ОЗУ.

0
ответ дан 18 June 2012 в 13:26

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

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