26 ноября 2015 г.

Размер области подкачки в Linux: рекомендации

Операционная система для работающих приложений предоставляет память в рамках границ виртуальной памяти, которая, как я уже упоминал, представляет собой сумму оперативной памяти (ОЗУ, физическая память) и области подкачки.

Рекомендации для операционной системы MS Windows я описывал в этом посте.

В Linux данная область называется swap-space. Страницы памяти, которые давно не использовались (механизм LRU), выгружаются в область подкачки. Данный процесс называется "swap-out". Операция восстановления страниц в память, если они требуются процессу, называется "swap-in". Причем, для экономии операций записи на диск, восстановленные страницы не удаляются сразу из swap, а сохраняются, на случай, если в будущем потребуется их запись в swap, а страницы не изменились. В данном случае, реальной операции записи не происходит.

Когда сервера имели небольшой объем памяти, рекомендация по поводу размера области подкачки была простая = 3*(размер оперативной памяти). Но при объемах основной памяти больших, чем 24 Гб, следование данной рекомендации приведёт к очень большим размерам swap области, что в свою очередь приведёт к деградации общей производительности. Так же стоит учесть тот факт, что современные сервера переходят на использование SSD дисков, а они обладают меньшим размером, чем классические HDD, что приводит к невозможности создавать большие swap области на них.

Поэтому SAP для больших объемов оперативной памяти приводит нелинейные рекомендации для размеров swap-space (рис. 1).

Рис. 1. Рекомендации для swap области.

Следует учесть, что данная информация носит рекомендательный характер, и в неё могут быть внесены коррективы на основании рекомендаций производителей операционной системы или опыта администратора.

Подробности в SAP note # 1597355 - Swap-space recommendation for Linux.

Автор: Шиболов Вячеслав Анатольевич


Комментариев нет:

Отправить комментарий