Как мне установить default.swappiness по умолчанию для всех системных групп?
В CentOS 7, как мне установить default.swappiness по умолчанию для всех системных групп? Я могу сделать это для каждой группы через опцию ControlGroupAttribute, но я бы хотел переопределить значение по умолчанию 60 для всех групп.
1 ответ
Если вы хотите сделать это для ВСЕХ групп, вы хотите сделать это для всей системы? Если это так, вы можете установить всю систему подкачки в /etc/sysctl.conf. Строка, которую вы будете редактировать, это "vm.swappiness=", которую вы можете установить в диапазоне от 0 до 100.
Как справедливое предупреждение для любого, кто перемещает это значение как способ избежать полной подкачки, установка этого очень низкого значения почти полностью отключит пейджинг по требованию, что является очень полезным способом вывести бездействующие страницы из ОЗУ и в подкачку. Да, это "обмен", но это не такая отчаянная вещь, как старый традиционный смысл обмена, когда у нас заканчивается память. Пейджинг по требованию особенно полезен в больших базах данных, и он не должен ничего замедлять. Это, конечно, лучше, чем просто поменять местами, когда у нас не хватает памяти в последнюю секунду, так как подкачка по требованию помогает предотвратить это в первую очередь, пока система не останавливается, а не после нее. Установка 0 для всей системы vm.swappiness может привести к тому, что OOM завершит процессы системы, находясь под сильным давлением, что может привести к панике всей системы.
Также стоит упомянуть, что вы должны вызвать файл sysctl.conf для чтения после его редактирования. # sysctl -p
читает строки, которые были изменены в /etc/sysctl.conf. vm.swappiness можно изменить в работающей системе следующим образом или, используя таким образом procfs: # echo 50 > /proc/sys/vm/swappiness
где 50 - любое число от 0 до 100.