Цент ОС: Как я выключаю или уменьшаю чрезмерные обязательства памяти, и действительно ли безопасно сделать это?

Ваша сгенерированная страница HTML имеет корректные заголовки как?


 


Если это не предоставляет их - Ваш веб-сервер может предоставить набор символов для целого сайта.

Можно проверить это через рысь команды - голова - выводит http://my.websyte.com

20
задан 13 April 2017 в 15:14
3 ответа

Избыточное выделение памяти можно отключить с помощью vm.overcommit_memory = 2

0 - это режим по умолчанию, в котором ядро ​​эвристически определяет выделение, вычисляя свободную память по сравнению с выполняемым запросом на выделение. А установка его в 1 включает волшебный режим, когда ядро ​​всегда сообщает, что у него достаточно свободной памяти для любого распределения. Установив на 2, означает, что процессы могут выделять только до конфигурируемого объема ( overcommit_ratio ) ОЗУ и начнут получать сообщения об ошибке выделения или OOM-сообщения, когда он превысит этот объем.

Безопасно ли это сделать, нет. Я не видел ни одного подходящего варианта использования, где бы действительно помогло отключение избыточной памяти, если вы не на 100% уверены в рабочей нагрузке и мощности оборудования. Если вам интересно, установите пакет kernel-docs и перейдите в /Documentation/sysctl/vm.txt , чтобы узнать больше, или прочтите его в Интернете .

Если вы установите vm.overcommit_memory = 2 , тогда будет превышено процентное значение физической RAM, настроенное в vm.overcommit_ratio (по умолчанию 50%).

echo 0/1/2 > /proc/sys/vm/overcommit_memory 

Это будет не пережить перезагрузку. Для сохранения поместите это в файл /etc/sysctl.conf :

vm.overcommit_memory=X

и запустите sysctl -p . Перезагрузка не требуется.

30
ответ дан 2 December 2019 в 20:09

Абсолютно некорректное заявление: Отключение избыточного выделения памяти определенно «безопаснее», чем его включение.

$ Клиент установил его на нескольких сотнях веб-серверов, и это очень помогло с проблемами стабильности. Есть даже проверка Nagios, которая очень громко вызывает пожар, если он когда-либо НЕ отключался.

С другой стороны, люди могут не считать «безопасным» выведение своих процессов из памяти, когда они просто хотели бы перегрузить небольшую память. и никогда бы не стал этим пользоваться. (например, SAP был бы очень хорошим примером)

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

(Я знаю, что рискую получить отрицательный голос со стороны какого-нибудь сварливого человека)

6
ответ дан 2 December 2019 в 20:09

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

3
ответ дан 2 December 2019 в 20:09

Теги

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