img

Управление и мониторинг областью подкачки в Linux

Область подкачки играет важную роль в производительности системы. Давайте узнаем, как определить размер области подкачки в вашей системе и как она используется.

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

Что такое область подкачки и как она используется.

Область подкачки (swap space) – это дисковое пространство, которое действует как расширение памяти. Он используется, когда физическая память (ОЗУ) системы заполнена и системе требуется больше ресурсов памяти. Это называется «swap», потому что система перемещает некоторые неактивные страницы в памяти в область подкачки, чтобы можно было разместить больше данных в ОЗУ. Другими словами, это позволяет освободить оперативную память в загруженной системе.

Программы и данные используют оперативную память, потому что это единственный способ их обработки системой. Фактически, когда система загружается, она перемещает такие программы, как ядро и systemd, в оперативную память, чтобы начать работу.

Область подкачки может быть настроена как отдельный раздел диска или как файл. В наши дни большинство установок Linux создают раздел во время установки, и это является опцией. Однако вы можете создать файл подкачки и использовать его для подкачки.

Из-за нехватки области подкачки вы можете столкнуться с проблемой, называемой «перегрузкой», при которой программы и данные перемещаются между ОЗУ и областью подкачки так часто, что система работает очень медленно.

Вместе RAM и swap называются «виртуальной памятью».


Какой объем swap space необходим?

Раньше для области подкачки рекомендовали выбирать объем равный двойному размеру оперативной памяти, но это было в те времена, когда в системах не было столько оперативной памяти, как сегодня. Эти рекомендации для Ubuntu, но вероятно, должны работать и для других дистрибутивов:

Рис. 1  Swap space Ubuntu

Важно различать подкачку и подкачку с гибернацией. Система, которая переходит в спящий режим, немедленно сохраняет состояние вашей системы на жестком диске и выключается. Когда вы разбудите его (например, подняв "крышку" ноутбука), все запущенные вами программы вернутся в то состояние, в котором они находились, когда система перешла в спящий режим. Поэтому рекомендуется увеличить область подкачки. Но не все системы переходят в спящий режим.

Чтобы узнать, может ли ваша система перейти в спящий режим, выполните команду:

$ which pm-hibernate
/usr/sbin/pm-hibernate

Если на экран выведен ответ, показанный выше, значит ваша система готова к переходу в спящий режим. Вы можете проверить это, выполнив эту команду:

$ sudo pm-hibernate

Как можно просмотреть объем области подкачки в вашей системе Linux?

Используйте команду swapon --show, чтобы просмотреть область подкачки в вашей системе.

Рис. 2 Определение размера области подкачки

Еще одна полезная команда — это команда free, которая отображает как размер области подкачки, так и использование памяти. При использовании параметра -m результаты отображаются в МБ, а не в КБ.

Рис. 3 Использование команды Free

Команда sar сообщает об использовании области подкачки

Рис. 4 Использование команды sar

Обратите внимание, что в приведенных выше выходных данных команды free область подкачки используется скромно, хотя доступно много свободной памяти.

Вы также можете просмотреть раздел подкачки с помощью такой команды:

Рис. 5 Применение команды lsblk

Когда необходима область подкачки?

Если в вашей системе много памяти, возможно, вам никогда не понадобится использовать область подкачки. Но почти всегда полезно иметь ее под рукой. Дисковое пространство относительно дешево по сравнению с памятью, и вы никогда не знаете, когда какой процесс увеличит нагрузку. С другой стороны, если ваша область подкачки интенсивно используется почти все время, вам, возможно, следует подумать о добавлении дополнительной оперативной памяти в систему, поскольку с ее использованием связаны некоторые затраты на производительность.


Создание файла подкачки.

Если вам нужно создать файл подкачки в системе Linux, используйте команду:

Рис. 6 Создание файла подкачки в системе Linux

После создания файла измените права доступа к нему, запустите команду mkswap и используйте команду swapon -a, чтобы сделать его доступным, и команду swapon --show, чтобы убедиться, что он запущен.

Рис. 7 Изменение прав доступа к файлу подкачки

Можно включать и выключать использование файла подкачки с помощью команд swapoff и swapon, хотя вы, возможно, захотите отключить подкачку, только если вы добавили раздел подкачки и хотите использовать его вместо файла подкачки.

Рис. 8 Включение и отключение файла подкачки
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.