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/.