Как удалить swap file linux

Swap CentOS – подключение файла подкачки, удаление файла подкачки

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

Своп (от английского swap) – область на накопителе, где операционная система может временно хранить данные, которые уже не держит в оперативной памяти. Swap, файл подкачки, механизм виртуальной памяти перемещающий отдельные фрагменты памяти из оперативной памяти на жёсткий диск, внешний накопитель, специально выделенный раздел или файл, тем самым выполняя своё предназначение и освобождая оперативную память для других активных фрагментов памяти.
Файл подкачки дает возможность увеличить объем информации, которую сервер может хранить в рабочей памяти. Но, с некоторыми оговорками. Чтение и запись в раздел подкачки медленнее, чем при использовании памяти, но это может поддержать, когда на сервере недостаточно оперативной памяти.
Без подкачки, в момент нехватки памяти, сервер может начать завершать процессы, чтобы освободить память, или даже аварийно завершить работу. Это может привести к потере данных или возникновению простоев.

Проверка системы на наличие и использование свопа

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

Если команда ничего не возвращает, значит файла подкачки не существует. В обратном случае, в терминал будет выведено нечто подобное:

то же самое, с выводом полного пути к файлу свопа, но вывести из содержания файла swaps:

Утилита free отобразит текущее использование памяти и подкачки:

Проверка доступного место для обмена и хранения данных

Важно убедится в наличии доступного места на носителе:

Для использования еще доступно 26G и этого достаточно.

Создать файла подкачки

Создать 1-гигабайтный файл подкачки указанного размера используя команду fallocate:

С помощью ls можно убедится в его наличии и в достаточном количестве зарезервированного пространства:

Подключение файла подкачки

Файл уже создан, но система еще не знает, что он должен использоваться для хранения и обмена. Нужно отформатировать этот файл как swap, а затем включить его. Но прежде, должны быть настроены права доступа, чтобы файл мог быть прочитан, только учетной записью root. Разрешение другим пользователям читать или писать в этот файл, было бы большой угрозой безопасности. Ограничиваются разрешения с помощью chmod:

Проверить, что у файла подкачки правильные разрешения, снова используя ls:

Теперь, файл подкачки стал более безопасным и можно указать системе пространство подкачки:
Указывается файл подкачки командой mkswap

Сразу включить файл подкачки

Файл подкачки готов к работе в качестве пространства подкачки, для его использования набрать:

В данный момент файл подкачки включен и при необходимости используется. После перезагрузки сервер должен автоматически включать для использования файл свопа. На подключение укажет строка дописанная в таблицу управляющую файловыми системами и разделами в файле fstab.
На этом этапе, есть вероятность получить следующую ошибку swapon failed: Invalid argument:

Пишет, что недопустимый аргумент, в этом случае поможет это CentOS 7 — failed: Invalid argument решение.

Подключение файла подкачки после загрузки системы

Чтобы файл подключался во время загрузки системы, в файл fstab

в нижней части, нужно добавить строку, указывающую операционной системе использовать файл подкачки автоматически:

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

Источник

Если нужно удалить swap Ubuntu в ядре Linux, желательно действовать рассудительно и правильно, чтобы не породить новые проблемы.

Удаление swap-файла кажется удачным решением, когда нужно освободить место на диске, а компьютер имеет достаточно ресурсов для быстродействия. По умолчанию размер swap в Ubuntu обычно составляет порядка 770 Мб, так что это действительно солидный кусок дискового пространства.

Читайте также:  Disabling windows 10 spying

удалить swap ubuntu

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

Как отключить swap в Ubuntu

Простое решение проверки — временное отключение swap-файла. В этом случае своп не удаляется, но подкачка прекращает работу. И при необходимости его всегда можно включить снова.

Отключение свопа производится командой:

sudo swapoff –a

swapon –a

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

Правильное удаление

Для правильного удаления swap-файла следует действовать в следующем порядке:

  1. Определить местонахождение своп-файла командой: # cat /proc/swaps .
  2. Отключить файл подкачки: # sudo swapoff /dir/swapXXX , где dir- каталог с файлом, swapXXX – имя свопа.
  3. Удалить своп: # sudo rm /dir/swapXXX.

Нужно учитывать, что обычно в Ubuntu предусматривается автоматическая загрузка swap при старте. Поэтому для полного удаления свопа необходимо также удалить его из автоматической загрузки. Для этого командой # sudo gedit /etc/fstab выводится на экран файл автоматической загрузки, в котором удаляется нужная строчка.

Но, еще раз, рекомендуем не удалять swap Ubuntu без создания нового. При создании нового файла можно указать новый размер подкачки и, тем самым, освободить часть дискового пространства. В любом случае, необходимо протестировать стабильность работы системы с новыми параметрами.

Источник

SWAP в Linux: Создание, редактирование и удаление раздела или файла

И что же такое Swap в Linux?

Если сервер пытается запустить программу, которая требует больше оперативной памяти, чем доступно, операционка для решения задачи используют технологию swapping («подкачка»). Суть этой технологии заключается в том, что объем данных, который не помещается в оперативную память временно хранится на жестком диске, в то время как другая часть данных обрабатывается. Рассмотрим два варианта управления своп-разделами в Linux для повышения производительности системы.

В ОС Linux оперативная память (ОЗУ, RAM, random access memory) делится на разделы, называемые страницами (pages). Swapping («подкачка», своппинг) —
это процесс во время которого страницы памяти копируются в сконфигурированный специально раздел диска, который называется swap space
(раздел подкачки, может быть как и файлом, так и разделом жесткого диска) для того чтобы освободить ОЗУ.
Совокупные размеры физической памяти и раздела подкачки — это объем имеющийся виртуальной памяти.

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

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

Однако для выделенного сервера в некоторых ситуациях своппинг помогает не повесить сервер. Т.е. благодаря подкачки вы будете иметь хоть какое-то (пусть очень замедленное) но все-таки управление сервером.

В Linux есть два вида своппа: раздел подкачки и файл подкачки. Раздел подкачки — это отдельный раздел на жестком диске, используемый только для своппинга, никакие другие файлы не могут там располагаться. В Linux работа с этим разделом происходит на низком уровне. Файл подкачки — это специальный файл в файловой системе.

Swap partition, своп-раздел

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

Filename Type Size Used Priority
/dev/sda7 partition 859436 0 -1

Каждая строчка в этом списке описывает имеющиеся у вас своп пространства. В поле «Type» указывается тип пространства: partition (раздел) или file (файл). Поле «Filename» показывает местоположение свопа. Далее идет общий размер свопа и сколько сейчас используется. В последнем поле указан приоритет, т.е. какие пространства системе использовать вначале. Стоит отметить, что если примонтировать несколько своп-простанств расположенных на разных жестких дисках, и выставить им одинаковый приоритет, то Linux будет равномерно распределять страницы памяти по ним, что приведет к существенному увеличению производительности системы.

Читайте также:  Краш при запуске самп windows 10

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

Замените /dev/hdb на на путь к устройству где будет расположен своп. Результат должен выглядеть примерно так:

Device Boot Start End Blocks Id System
/dev/hdb1 2328 2434 859446 82 Linux swap / Solaris

Если раздел не помечен как swap, то используйте программу fdisk с ключом t, будьте осторожны во время этой процедуры, а то останетесь без своего линукса и других ОС, проверьте раздел на наличие нужной информации перед тем, как сделать из него swap.

Как только раздел помечен как своп, необходимо подготовить, для этого используется следующая команда:

Если никаких ошибок нет, то можно подключать своп-раздел:

Проверить результат можно вышеупомянутой командой:

Для того что бы новый своп автоматически монтировался при старте системы, необходимо внести некоторые изменения в файл /etc/fstab, в котором содержатся все файловые системы и свопы, монтирующиеся при старте. Формат файла следующий:

Таким образом, swap-space — это специальный тип файловой системы. Для добавления нового свопа добавьте следующую строку:

Для того что бы проверить примонтируется ли новый своп-раздел при старте, отключите все свопы командой swapoff -a. Затем командой swapon -a, включите свопы, загрузятся те, которые перечислены в файле /etc/fstab. Ну и наконец командой swapon -s проверьте, какие сповы примонтировались.

Создание SWAP файла

Создаем файл необходимого размера для swap области, где /home/swap-tmp — это имя и путь файла, а count=1024K его размерв, в данном случае — 1024 Мб):

# sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K

Далее производим запись в начало файла системную информацию, которая будет используется ядром системы для работы с файлом подкачки:

Следующим шагом активируем только что созданный SWAP файл:

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

После перезагрузки системы 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:

# echo «UUID=54c60583-e61a-483a-a15c-2f1be966db85 swap swap defaults 0 0» | sudo tee -a /etc/fstab

Удаление SWAP файла

Просматриваем все объекты, которые используются для размещения виртуальной памяти

Деактивируем, для примера, созданный выше SWAP файл:

Удаляем SWAP файл:

Если Вы раньше добавляли строчку в fstab, для автоматической загрузки SWAP файла при старте операционной системы, то следует ее удалить. Выводим файл /etc/fstab для редактирования на экран:

В нем удаляем строчку монтирования SWAP файла.

Источник

SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux

Что такое SWAP

SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накопитель), флеш-накопитель или иное вторичное хранилище. Как правило, swapping (свопинг) происходит, когда оперативная память переполнена, и ей для работы требуется дополнительное пространство.

Когда может понадобиться своп

Зачастую, от недостатка свободной памяти первой страдает база данных. Вы можете сталкиваться с проблемами типа:

  1. Постоянное падение сайта: Ошибка соединения с базой данных — означает, например, что MySQL упал;
  2. При внимательном изучении логов /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 рублей в месяц
Читайте также:  Astra linux группа floppy

Как видно из таблицы, экономия выйдет примерно в 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 просто очищается, а не переносится в ОЗУ, и, в случае наличия данных системных процессов, система может стать недоступна.

Источник

Оцените статью