|
||||||||||||||||||||||||||||||||||||||||||||||||||
Раздел SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux
Время создания: 27.04.2019 23:32
Текстовые метки: linux, swap, файл подкачки, память
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/155639717350qg0a321w/text.html на raw.github.com
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накопитель), флеш-накопитель или иное вторичное хранилище. Как правило, swapping (свопинг) происходит, когда оперативная память переполнена, и ей для работы требуется дополнительное пространство. У сайта sheensay.ru есть свой канал в Telegram - @sheensayru. Зачастую, от недостатка свободной памяти первой страдает база данных. Вы можете сталкиваться с проблемами типа:
При подобных симптомах и ошибках может помочь своппинг. Экономия бюджета Допустим, рассчитано, что под работу сайта необходимо 2 гигабайта оперативной памяти. Однако, в зависимости от всплесков трафика, активности пользователей или особенностей работы проекта в моменты пиковой нагрузки оперативной памяти может не хватать, что, в свою очередь, может вызывать сбои в работе. Можно решить проблему, докупив оперативную память на 2-4 гигабайта, но тогда большую часть времени она будет простаивать вхолостую. В таком случае, может помочь простое подключение свопа на 4 гигабайта — вы выделяете место на диске под своп, и он берёт на себя роль помощника оперативной памяти.
Как видно из таблицы, экономия выйдет примерно в 10 раз. Медленная работа Если файл или раздел свопа хранится на HDD (жёстком диске), то скорость чтения данных с него намного меньше, чем из оперативной памяти. Получше дела обстоят с SSD (твёрдотельным накопителем), однако, надо понимать, что поиск и чтение данных происходит через оперативную память, что, в свою очередь, всё равно увеличивает время отклика. Поэтому, если Вы решили сэкономить на оперативной памяти, полностью положившись на SWAP, то я категорически не рекомендую так делать. SWAP — это не замена оперативной памяти, а всего лишь его поддержка. Необходимо наличие свободного места на диске Вам необходимо зарезервировать свободное место на диске под своп, иначе стабильность работы не гарантируется. Это не то, чтобы недостаток свопа, просто его надо учитывать и помнить о нём. Как создать и подключить файл подкачки SWAP Далее, в работе используется командная строка SSH . Проверка наличия свопа в системе Для начала, нужно убедиться, что своп ещё не подключен:
Если команда выдала пустой результат или что-то навроде: Результат:
— значит, своп, скорее всего отсутствует. Дополнительно проверим командой:
Проверка наличия свободного места на диске Теперь, надо проверить, сколько свободного места есть на диске:
В результате, мы увидим что-то подобное:
Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл. Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя. Допустим, мы хотим создать swap-файл размером 4 гигабайта. Быстрый способ Используем fallocate:
Результатом будет пустая строка, это нормально. Традиционный, медленный способ Или используем команду:
Синтаксис команды простой:
Будьте очень внимательны с синтаксисом команды, потому что если, например, ошибиться с определением пути для of= (куда сохранять файл), можно повредить данные на диске. Теперь, когда файл создан, проверим результат:
В результате увидим: Для начала, ограничим права доступа к вновь созданному файлу. Предоставление другим пользователям возможности читать или писать в этот файл будет представлять собой огромный риск для безопасности, поэтому ограничение командой ниже строго обязательно:
Проверим результат:
В результате, мы должны увидеть подобное: Теперь нужно сделать из swapfile файл подкачки:
В результате, увидим примерно следующее: Теперь, файл готов в роли свопа. Подключим его к системе:
Если на данном этапе выходит похожая ошибка, значит, скорее всего, своп запрещено подключать в систему. Такое ограничение часто ставят на VDS с виртуализацией OpenVZ. Рекомендую использоватьсервера с виртуализацией на KVM, которые позволяют включать SWAP. Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:
Результат:
Своп также будет виден в стандартных командах:
Результат:
Всё, теперь точно, своп в системе готов и будет использоваться при необходимости. Добавление свопа в автозагрузку Чтобы при перезагрузке сервера своп автоматически подтягивался в систему, нужно прописать его в /etc/fstab:
Теперь система знает, где и как при перезагрузке искать и подключать своп.
|
||||||||||||||||||||||||||||||||||||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|