Общая информация
В системе Линукс для размещения виртуальной памяти можно выделить отдельный раздел жесткого диска или использовать обычный файл. Линукс позволяет комбинировать эти два способа. По умолчанию в Unix системах применяется SWAP раздел. Производительность отдельного SWAP раздела жесткого диска выше, чем производительность виртуальной памяти размещенной в файле. Единственным минусом SWAP раздела является сложность его редактирования.
Если Вы до эксплуатации сервера знаете какой емкости нужна SWAP область, то обязательно используйте отдельный раздел жесткого диска. Если нагрузка на SWAP область пока неизвестна, то лучше разместить виртуальную память в файле, после чего определив потребности системы, создать раздел нужного размера.
Система Linux позволяет одновременно использовать несколько SWAP разделов и SWAP файлов. Это позволяет более гибко подойти к вопросу расширения виртуальной памяти в случае нехватке размера SWAP области на сервере. Чаще всего, на работающем сервере с существующим SWAP разделом выясняется, что текущего размера виртуальной памяти уже не хватает. Целесообразнее добавить тестовый файл подкачки для определения нагрузки на SWAP область, а уже после увеличить размер раздела.
Создание, редактирование и удаление любых разделов из под загруженной в данный момент операционной системы не безопасно, поэтому создание SWAP раздела, вместо SWAP файла, делается только с использованием LiveCD. Статья на тему безопасного редактирования разделов будет написана в будущее время.
В системе Windows виртуальная память размещена только в отдельном файле – pagefile.sys (для Windows 2000 и выше) и win386.swp (для Windows 9x).
Для любой операционной системы, если используется спящий режим (Hebernation), размер виртуальной памяти следует делать не меньше объема оперативной памяти. В общих случаях наиболее эффективно использовать размер виртуальной памяти кратный 4 (1024 Мб, 2048 Мб и т.д.), так как ядро системы производит обмен страницами с памятью по 4 Кб в каждой. Размер виртуальной памяти легче посчитать от объема оперативной памяти *2, *3. Область подкачки стоит размещать на самом быстром жестком диске ближе к началу.
Хочу обратить Ваше внимани, что приведенные ниже инструкции касается только изменения размера ФАЙЛА ВИРТУАЛЬНОЙ ПАМЯТИ, а не изменение размера отдельной директории SWAP.
Ниже приведены пошаговые инструкции, которые позволят создать, изменить и удалить файл SWAP.
Создание SWAP файла
- Создаем файл необходимого размера для swap области, где /home/swap-tmp – это имя и путь файла, а count=1024K его размерв, в данном случае – 1024 Мб):
sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K
На экране получим:
[user@localhost user]#sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K
1048576+0 записей считано
1048576+0 записей написано
скопировано 1073741824 байта (1,1 GB), 137,509 c, 7,8 MB/c - Далее производим запись в начало файла системную информацию, которая будет используется ядром системы для работы с файлом подкачки:
sudo mkswap /home/swap-tmp
После окончания операции на экране появится:
[user@localhost user]# sudo mkswap /home/swap-tmp
Устанавливается пространство для свопинга версии 1, размер = 1073737 кБ
без метки, UUID=54c60583-e61a-483a-a15c-2f1be966db85 - Следующим шагом активируем только что созданный SWAP файл:
sudo swapon /home/swap-tmp
Для просмотра результата просматриваем все объекты, которые используются для размещения виртуальной памяти:
cat /proc/swaps - После перезагрузки системы SWAP файл необходимо активировать снова или добавить строчка для автоматической загрузки в файл fstab.
Редактировать файл fstab можно самостоятельно или командой, которая добавляет в конец файла fstab строку /home/swap-tmp swap swap defaults 0 0:
echo «/home/swap-tmp swap swap defaults 0 0» | sudo tee -a /etc/fstab
Тоже самое действие но добовление через UUID, который присваивается в пункте 2:
echo «UUID=54c60583-e61a-483a-a15c-2f1be966db85 swap swap defaults 0 0» | sudo tee -a /etc/fstab
Удаление SWAP файла
- Просматриваем все объекты, которые используются для размещения виртуальной памяти
cat /proc/swaps
Выбираем ненужный. - Деактивируем, для примера, созданный выше SWAP файл:
sudo swapoff /home/swap-tmp - Удаляем SWAP файл:
sudo rm /home/swap-tmp
Если Вы раньше добавляли строчку в fstab, для автоматической загрузки SWAP файла при старте операционной системы, то следует ее удалить. Выводим файл /etc/fstab для редактирования на экран:
В нем удаляем строчку монтирования SWAP файла.
Редактирование размера SWAP файла
Действия по редактирование объема SWAP файла сводятся к удалению уже созданного файла SWAP и созданию нового файла требуемого размера. То есть нужно сначало сделать пункт 3, а после пункт 2.
Комментарии (13)