- Файл подкачки Linux — что это и как с ним работать
- Проверка на наличие файла подкачки в ОС Linux
- Создание swap Linux
- Как настроить Swapiness
- Размер файла подкачки в ОС Линукс
- Удаление swap в операционной системе Линукс
- Итоги
- Как отключить своп?
- SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux
- Что такое SWAP
- Когда может понадобиться своп
- Преимущества SWAP
- Недостатки SWAP
- Как создать и подключить файл подкачки SWAP
- Проверка наличия свопа в системе
- Проверка наличия свободного места на диске
- Какого размера создать swap
- Создание файла SWAP
- Как подключить SWAP файл
- Добавление свопа в автозагрузку
- Дополнительные вопросы
- Как очистить SWAP в Linux
Файл подкачки Linux — что это и как с ним работать
Современные устройства, функционирующие на различных операционных системах, имеют файл подкачки. Он служит для подстраховки оперативной памяти компьютера. В этом вопросе ОС Linux не является исключением из правила.
Для чего это необходимо? Когда пользователь ПК загружает оперативную память под завязку, устройство получает дополнительный объем памяти из файла подкачки. В каких ситуациях это может потребоваться:
- Для сохранения нормальной производительности компьютера в том случае, если запас ОЗУ постепенно заканчивается. Без файла подкачки устройство начнет заметно притормаживать. Это отрицательно скажется на комфорте работы с ПК.
- Для оптимального распределения приоритетов (система определит, какой вид памяти будет выделен на те или иные процессы).
Эта информация пригодится всем, кто имеет дело со swap. Данный термин имеет следующее значение: swap – это файл в системном разделе или отдельный раздел диска. В большинстве своем его принято создавать в процессе установки ОС. Но если есть такая необходимость, можно создать swap в любой другой момент времени.
В отдельно взятых случаях желание пользователя относительно присутствия swap на ПК не учитывается. В некоторых версиях ОС Ubuntu Linux файл подкачки создается по умолчанию, и с этим уже ничего не поделать. Остается лишь принять это, как факт. Многие юзеры не довольны таким решением, поскольку файл подкачки на их компьютерах занимает порядком 1 Гб памяти.
Проверка на наличие файла подкачки в ОС Linux
Если swap есть на используемом устройстве, с ним можно проделывать множество различных действий. Однако прежде чем приступить к конкретной задаче, нужно хотя бы убедиться в наличии swap на конкретном ПК. А то вдруг окажется так, что swap и вовсе отсутствует.
Чтобы посмотреть swap в операционной системе Линукс, необходимо задать определенную команду. Она выглядит следующим образом:
- total — всего памяти.
- used — сколько используется в данный момент.
- free — свободная память, не используется.
К сожалению, данная команда показывает только общую информацию (total, used, free) и не может дать четкого определения тому, что это файл подкачки или смонтированный раздел. Именно поэтому для дополнительноой проверки воспользуемся другой командой — «swapon».
Как видно из скриншота выше, swap находится в разделе /dev/sda5, размером 2,8 gb и это не файл.
Давайте предположим следующий возможный вариант развития сценария: файл подкачки отсутствует на вашем компьютере. Как это выявить? Введите в терминале команду free -h, и ознакомьтесь с полученной информацией. Если в строке «Подкачка» стоят сплошные нули, то swap не создан в операционной системе Linux.
Создание swap Linux
Если файла подкачки нет, будет логичным приняться за его создание. Далее вы ознакомитесь с пошаговой инструкцией по созданию swap для Линукс.
Воспользуйтесь терминалом для реализации задуманного.
# fallocate -|1G /swapfile
Примечание: 1 G – величина файла подкачки.
Чтобы защитить swap, необходимо установить на этот файл нужные права. Сделайте это при помощи:
# chmod 600 /swapfile
Примечание: в конце этой строки стоит название swap файла. Наименование выбирается на свое усмотрение. Его можно поменять.
Права 600 означает — владелец может читать/писать, остальным все запрещено.
- Как создать файловую систему
Нужный объект создан, но на данный момент ОС Linux не определяет его, как файл подкачки. Необходимо воспользоваться специальной командой для устранения этой проблемы:
По завершению операций, описанных выше, ОС Линукс начинает понимать, что новый объект возьмет на себя роль файла подкачки. Пришло время активировать его. Для этих целей введите в терминале следующее:
Как посмотреть, произошло ли распознание файла подкачки? Задайте в строке следующую команду:
При правильном следовании инструкции вы увидите тип файла и его величину в соответствующих полях.
- Как сохранить настройки
Внесенные коррективы имеют временный характер – они утратят свою актуальность сразу же после перезагрузки устройства. Их нужно сделать постоянными, но к этому вернемся чуть позже. Для начала следует произвести другое важное действие. А теперь попробуем создать резервную копию swap. Для этих целей введите в строке:
# cp /etc/fstab /etc/fstab.back
Настройки будут сброшены после перезапуска компьютера. Чтобы избежать этого, необходимо вписать в файл некоторую информацию. Осуществите эту идею с помощью:
$ echo ’/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
Дело сделано. Теперь можно смело перезапускать устройство. Сохраненные данные останутся на месте.
Как настроить Swapiness
ОС Linux может использовать swap с разной частотой. Частота использования может варьироваться от 0 до 100. Она задается в параметрах swap.
Значение, приближенное к «0» означает, что система начнет обращаться к файлу подкачки только в самых экстренных случаях (как страховочный вариант). Значение, приближенное к «100» означает, что система начнет освобождать физическую память, перемещая объекты в раздел подкачки.
Команда для проверки установленного параметра в устройстве:
Если указанное значение вам подходит, можно считать, что настройки завершены. В обратном случае нужно поменять это значение на более подходящий вариант. Например:
В приведенном примере «25» – новое значение. Вы можете выбрать число по собственному усмотрению. Главное, чтобы значение попадало в диапазон от 0 до 100. После внесения изменений нужно еще раз позаботиться о том, чтобы они не обнулились после перезапуска системы. Введите в строке терминала запрос:
Запустите текстовый редактор (обязательно с правами суперпользователя). С его помощью нужно прописать некоторую информацию в конце файла. Значение, которое нужно вписать:
vm.swapiness=25 (или любое другое значение, которое вас устроит).
Размер файла подкачки в ОС Линукс
Существует несколько способов увеличения/уменьшения swap файла в устройствах, функционирующих на ОС Linux. Перед тем, как разобраться с этим вопросом подробнее, следует уделить несколько секунд своего внимания важному напоминанию:
При отключении swap операционная система компьютера начинает использовать только ОЗУ. Если объем оперативной памяти закончится, устройство может зависнуть. Все рабочие процессы ПК остановятся.
Чтобы избежать подобных неприятностей, нужно создать запасной (временный) файл подкачки перед тем, как удалять или изменять swap. Обязательны ли эти действия к выполнению? Здесь нужно смотреть по ситуации. Если ОЗУ устройства достаточно велика, можно вполне обойтись и без создания второго swap файла. В этом нет ничего рискованного.
Теперь приступаем к следующему этапу настройки – корректировке величины файла. Чтобы все прошло безопасно, swap нужно отключить. Введите в строке запрос:
Чтобы изменить величину swap, введите в строке:
# fallocate -| 2G /swapfile
Вместо «2G» укажите подходящую для вас величину файла подкачки. Для его форматирования воспользуйтесь этой командой:
И последнее действие – включение файла подкачки. Попробуйте включить его при помощи:
Интересная информация: пользователь может создавать и использовать несколько swap файлов на устройстве с ОС Linux.
Удаление swap в операционной системе Линукс
Иногда бывают ситуации, когда пользователю устройства необходимо удалить файл подкачки. Это делается очень быстро, но для начала следует выключить swap, затем удалить.
Теперь можно спокойно приступать к удалению при помощи команды «rm».
Важное напоминание: при создании нового файла подкачки в ОС Линукс придется снова установить права на swap.
Итоги
Концепция swap для операционной системы Linux очень проста. Ознакомившись с нашей статьей, вы сможете проверить устройство на присутствие файла подкачки, создать его, правильно настроить и безопасно удалить.
Источник
Как отключить своп?
У меня есть некоторые конфиденциальные данные в оперативной памяти, которые я предпочитаю не быть на диске. Как отключить своп? У меня более чем достаточно овна. Если оперативная память становится слишком высокой, у меня нет проблем с прекращением процессов. Как отключить своп?
Примечание: у меня нет раздела подкачки, и он работает на виртуальной машине (VMWare)
это обычный способ отключить своп, с помощью swapon -a команды, используемой для его включения. Смотрите man swapoff для получения дополнительной информации об отключении подкачки для явных устройств.
Вы можете отключить подкачку после перезагрузки, просто закомментировав (добавьте # перед строкой) запись подкачки в /etc/fstab файле. Это предотвратит автоматическое монтирование раздела подкачки после перезагрузки. Чтобы сделать это в одной команде:
Теперь ваша запись подкачки /etc/fstab будет выглядеть примерно так:
С вашими конкретными цифрами и строчными буквами вместо букв «х».
Если вас беспокоит содержание файла подкачки, вы всегда можете отключить его, как обычно, с помощью, sudo swapoff -a а затем заполнить устройство подкачки нулями или случайными данными, используя dd.
Сначала используйте содержимое fstab, чтобы найти файл подкачки или устройство ( less /etc/fstab )
Обнаружив его, дважды и трижды проверив его местоположение, скажем, в sda5 или /swapfile (разделы подкачки были заменены по умолчанию файлом подкачки в 17.04 и более поздних версиях ) .
В случае раздела подкачки или диска: (с предисловием / dev) введите команду «уничтожить диск» (не следует использовать слегка)
sudo dd if=/dev/zero of=swap заменить слово swap на устройство подкачки или файл, в котором вы находитесь /etc/fstab
взорвать его полный нулей или
sudo dd if=/dev/random of=swap снова заменить слово swap на устройство подкачки или файл, в котором вы находитесь /etc/fstab
взорвать его полный случайных данных.
В случае файла подкачки (с предваряющим только путь): вы можете просто удалить файл с rm /path/to/swapfile
В следующий раз, когда вы включите своп с
Система с радостью воспользуется им снова. Если у вас достаточно оперативной памяти, вам может вообще не понадобиться своп. Выполните команду
free когда система находится под большой нагрузкой и посмотрите, сколько используется для этого определения.
Если вы решите, что вам навсегда не нужен своп (для гибернации или чего-либо еще), вы можете просто закомментировать эту строку в fstab, как предлагается здесь
Источник
SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux
Что такое SWAP
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накопитель), флеш-накопитель или иное вторичное хранилище. Как правило, swapping (свопинг) происходит, когда оперативная память переполнена, и ей для работы требуется дополнительное пространство.
Когда может понадобиться своп
Зачастую, от недостатка свободной памяти первой страдает база данных. Вы можете сталкиваться с проблемами типа:
- Постоянное падение сайта: Ошибка соединения с базой данных — означает, например, что MySQL упал;
- При внимательном изучении логов /var/log/mysql.log обнаруживается ошибка InnoDB: Fatal error: cannot allocate memory for the buffer pool . Она свидетельствует о том, что базе данных не хватает выделенной ей оперативной памяти для создания буфера.
При подобных симптомах и ошибках может помочь своппинг.
Преимущества SWAP
Сравнение стоимости оперативной памяти и SSD | ||
(цены актуальны на 7 июля 2017 года) | IHOR | FirstVDS |
Оперативная память, в среднем за 1 гигабайт | 100 рублей в месяц | 170 рублей в месяц |
SSD, в среднем за 1 гигабайт | 10 рублей в месяц | 13 рублей в месяц |
Как видно из таблицы, экономия выйдет примерно в 10 раз.
Недостатки SWAP
SWAP — это не замена оперативной памяти, а всего лишь его поддержка.
Как создать и подключить файл подкачки SWAP
Далее, в работе используется командная строка SSH.
Инструментарий: Far Manager или Putty.
Для примера приводятся команды из под root . Если Вы работаете не под root , перед командами задавайте префикс sudo
Проверка наличия свопа в системе
Для начала, нужно убедиться, что своп ещё не подключен:
Если команда выдала пустой результат или что-то навроде:
— значит, своп, скорее всего отсутствует.
Дополнительно проверим командой:
Если в таблице в строке swap стоит 0, значит своп отсутствует.
Проверка наличия свободного места на диске
Теперь, надо проверить, сколько свободного места есть на диске:
В результате, мы увидим что-то подобное:
Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл.
Какого размера создать swap
Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя.
Создание файла SWAP
Допустим, мы хотим создать swap-файл размером 4 гигабайта.
Далее, здесь существует 2 подхода, традиционный медленный и новый быстрый:
Быстрый способ Используем fallocate :
Результатом будет пустая строка, это нормально.
В отличие от dd , результат будет получен почти сразу, и я рекомендую именно его. Традиционный, медленный способ Или используем команду:
Синтаксис команды простой:
- dd — команда предназначена для того, чтобы что-то куда-то копировать побайтово;
- if=/dev/zero — указывает на источник, т.е. на то, откуда копируем, в данном случае из /dev/zero — это специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов;
- of=/swapfile — указывает путь назначения, куда копируем данные;
- bs=1G — количество байт, которые будут записаны за раз. В нашем случае, 1 гигабайт. Обозначения: G — гигабайт, M — мегабайт, K — килобайт, и так далее;
- count=4 — сколько блоков размером с bs будет создано, в нашем случае 4.
Будьте очень внимательны с синтаксисом команды, потому что если, например, ошибиться с определением пути для of= (куда сохранять файл), можно повредить данные на диске.
Теперь, когда файл создан, проверим результат:
В результате увидим:
-rw-r—r— 1 root root 4.0G Jul 07 16:16 /swapfile
Как видим, файл создался верно и с нужным объёмом.
Как подключить SWAP файл
Для начала, ограничим права доступа к вновь созданному файлу.
Предоставление другим пользователям возможности читать или писать в этот файл будет представлять собой огромный риск для безопасности, поэтому ограничение командой ниже строго обязательно:
В результате, мы должны увидеть подобное:
-rw——- 1 root root 4.0G Jul 07 16:16 /swapfile
Права прописаны верно.
Теперь нужно сделать из swapfile файл подкачки:
В результате, увидим примерно следующее:
Setting up swapspace version 1, size = 4193300 KiB
no label, UUID=e5f3e9cf-c1a9-4ed4-b8ab-711b6a7d6544
Теперь, файл готов в роли свопа. Подключим его к системе:
Если на данном этапе выходит похожая ошибка, значит, скорее всего, своп запрещено подключать в систему. Такое ограничение часто ставят на VDS с виртуализацией OpenVZ. Рекомендую использовать IHOR, сервера от 100 рублей в месяц и виртуализация KVM позволяют включать SWAP.
Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:
Своп также будет виден в стандартных командах:
Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.
Добавление свопа в автозагрузку
Чтобы при перезагрузке сервера своп автоматически подтягивался в систему, нужно прописать его в /etc/fstab :
Теперь система знает, где и как при перезагрузке искать и подключать своп.
Проверить, подключен ли своп в автозагрузке, можно с помощью редактора:
Дополнительные вопросы
Как очистить SWAP в Linux
Вообще, это делается с помощью отключения и включения свопа.
Однако, я не рекомендую прибегать к этому способу, так как swap просто очищается, а не переносится в ОЗУ, и, в случае наличия данных системных процессов, система может стать недоступна.
Источник