Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.5. Виртуальная память

Виртуальная память используется процессами, кэшем файловой системы и ядром. Степень ее занятости определяется следующими параметрами:
swappiness
Значение от 0 до 100 определяет процент подкачки. Высокие значения означают, что предпочтение будет отдаваться производительности системы, агрессивно подкачивая страницы из физической памяти. Низкие значения избегают подкачки с целью уменьшения задержки обслуживания. По умолчанию равно 60.
min_free_kbytes
Минимальный размер свободной памяти (в килобайтах). При достижении этого порога начнут выделяться резервные страницы.

Предупреждение

Порог не должен быть слишком высоким или слишком низким.
Слишком низкое значение min_free_kbytes будет препятствовать освобождению памяти, что завершится зависанием системы и остановкой множества процессов.
В то же время слишком высокий порог (5-10% системной памяти) быстро приведет к нехватке памяти. Linux обычно использует всю доступную оперативную память для кэширования данных файловой системы, а высокий порог означает, что на освобождение памяти будет тратится слишком много времени.
dirty_ratio
Процент «грязных» данных по отношению к общему размеру памяти, при достижении которого начнется их запись (при помощи pdflush). По умолчанию равно 20 процентам.
dirty_background_ratio
Процент «грязных» данных по отношению к общему размеру памяти, при достижении которого начнется их запись в фоновом режиме (при помощи pdflush). По умолчанию равно 10 процентам.
drop_caches
Очищает кэш, тем самым освобождая память. Допустимые значения:
1
Освобождает память кэша страниц.
2
Освобождает память кэша индексных дескрипторов и записей каталогов.
3
Освобождает память всех вышеперечисленных типов.
Эта операция не является разрушающей. Так как «грязные» объекты не освобождают память, предварительно рекомендуется выполнить sync.

Важно

Не рекомендуется освобождать память с помощью drop_caches в критических окружениях.
Чтобы временно изменить параметр, сохраните его значение в proc. Например, чтобы присвоить swappiness значение 50, выполните:
# echo 50 > /proc/sys/vm/swappiness
Команда sysctl переопределяет параметры с сохранением результатов. За дальнейшей информацией обратитесь к руководству по развертыванию по адресу http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.