Как сделать swap linux

Содержание
  1. Как добавить пространство подкачки в Debian 10 Linux
  2. How to Add Swap Space on Debian 10 Linux
  3. Это руководство проведет вас по шагам добавления файла подкачки в Debian 10 Buster.
  4. Прежде чем вы начнете
  5. Создание файла подкачки
  6. Регулировка значения подкачки
  7. Удаление файла подкачки
  8. Создайте файл подкачки Linux
  9. Как добавить файл подкачки
  10. Как настроить значение подкачки
  11. Как удалить файл подкачки
  12. Выводы
  13. SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux
  14. Что такое SWAP
  15. Когда может понадобиться своп
  16. Преимущества SWAP
  17. Недостатки SWAP
  18. Как создать и подключить файл подкачки SWAP
  19. Проверка наличия свопа в системе
  20. Проверка наличия свободного места на диске
  21. Какого размера создать swap
  22. Создание файла SWAP
  23. Как подключить SWAP файл
  24. Добавление свопа в автозагрузку
  25. Дополнительные вопросы
  26. Как очистить SWAP в Linux
  27. Настройка swap в Ubuntu
  28. Обратите внимание
  29. Что такое Swap?
  30. Проверка Swap
  31. Настройка файла подкачки в Ubuntu 16.04
  32. Проверка места на диске
  33. Создание файла подкачки в Ubuntu 16.04
  34. Активация swap
  35. Постоянный файл подкачки
  36. Настройка раздела подкачки в Ubuntu
  37. Дополнительные настройки
  38. Выводы
  39. Оцените статью:
  40. Об авторе
  41. 40 комментариев

Как добавить пространство подкачки в Debian 10 Linux

How to Add Swap Space on Debian 10 Linux

Это руководство проведет вас по шагам добавления файла подкачки в Debian 10 Buster.

Пространство подкачки может иметь форму выделенного раздела подкачки или файла подкачки. Обычно при запуске виртуальной машины Debian раздел подкачки отсутствует, поэтому единственный вариант — создать файл подкачки.

Прежде чем вы начнете

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

Если вывод пуст, это означает, что в системе нет места для подкачки.

В противном случае, если вы получите что-то вроде ниже, в вашей системе Debian уже включен свопинг.

Чтобы активировать подкачку, пользователь, выполняющий команды, должен иметь права sudo .

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

В этом примере мы создадим и активируем 1G своп. Чтобы создать более крупный своп, замените 1G его размером желаемого пространства подкачки.

Следующие шаги показывают, как добавить пространство подкачки в Debian 10.

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

Если fallocate он не установлен, или вы получаете сообщение об ошибке, в котором говорится, что fallocate failed: Operation not supported вы можете использовать следующую команду для создания файла подкачки:

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

Используйте этот mkswap инструмент, чтобы настроить область подкачки Linux для файла:

Активируйте файл подкачки:

Чтобы сделать изменение постоянным, откройте /etc/fstab файл:

и вставьте следующую строку:

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

Регулировка значения подкачки

Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Подкачка может иметь значение от 0 до 100. Низкое значение заставит ядро ​​по возможности избегать подкачки, в то время как более высокое значение заставит ядро ​​использовать пространство подкачки более агрессивно.

Значение подкачки по умолчанию — 60. Проверить текущее значение подкачки можно с помощью cat команды:

Хотя значение подкачки 60 подходит для большинства систем Linux, для производственных серверов следует установить более низкое значение.

Например, чтобы установить значение подкачки 10, введите:

Чтобы сделать этот параметр постоянным при перезагрузке, добавьте в /etc/sysctl.conf файл следующую строку :

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

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

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

Отключите пространство подкачки, запустив:

Откройте /etc/fstab файл в текстовом редакторе и удалите запись файла подкачки /swapfile swap swap defaults 0 0 .

Наконец, удалите фактический файл подкачки с помощью rm команды:

Источник

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

Swap — это пространство на диске, которое используется, когда объем физической памяти RAM заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в область подкачки.

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

Это руководство было протестировано в системах Linux с Ubuntu 18.04 и CentOS 7, но оно должно работать с любым другим дистрибутивом Linux.

Как добавить файл подкачки

Выполните следующие действия, чтобы добавить 1 ГБ свопа на свой сервер. Если вы хотите добавить 2 ГБ вместо 1 Гб, заменить 1G с 2G .

Создайте файл, который будет использоваться для свопа:

Если faillocate не установлен или вы получили сообщение об ошибке, в котором fallocate failed: Operation not supported что fallocate failed: Operation not supported вы можете использовать следующую команду для создания файла подкачки:

Только пользователь root должен иметь возможность писать и читать файл подкачки. Чтобы установить правильный тип разрешений :

Используйте утилиту mkswap чтобы настроить файл как область подкачки Linux:

Включите свопинг с помощью следующей команды:

Чтобы сделать изменение постоянным, откройте файл /etc/fstab и добавьте следующую строку:

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

Как настроить значение подкачки

Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Подкачка может иметь значение от 0 до 100. Низкое значение заставит ядро по возможности избегать подкачки, в то время как более высокое значение заставит ядро более агрессивно использовать пространство подкачки.

Читайте также:  Windows media encoder multicast

Значение swappiness по умолчанию — 60. Вы можете проверить текущее значение swappiness, введя следующую команду:

Хотя значение подкачки 60 подходит для большинства систем Linux, для производственных серверов вам может потребоваться установить более низкое значение.

Например, чтобы установить значение swappiness равным 10, вы должны выполнить следующую команду sysctl :

Чтобы сделать этот параметр постоянным при перезагрузке, добавьте следующую строку в /etc/sysctl.conf :

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

Как удалить файл подкачки

Если по какой-либо причине вы хотите деактивировать и удалить файл подкачки, выполните следующие действия:

Сначала деактивируйте своп, набрав:

Удалите запись файла подкачки /swapfile swap swap defaults 0 0 из файла /etc/fstab .

Наконец, удалите фактический файл подкачки с помощью команды rm :

Выводы

Вы узнали, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе Linux.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Источник

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 рублей в месяц

Как видно из таблицы, экономия выйдет примерно в 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.

Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:

Читайте также:  C windows svchost com

Своп также будет виден в стандартных командах:

Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.

Добавление свопа в автозагрузку

Чтобы при перезагрузке сервера своп автоматически подтягивался в систему, нужно прописать его в /etc/fstab :

Теперь система знает, где и как при перезагрузке искать и подключать своп.
Проверить, подключен ли своп в автозагрузке, можно с помощью редактора:

Дополнительные вопросы

Как очистить SWAP в Linux

Вообще, это делается с помощью отключения и включения свопа.

Однако, я не рекомендую прибегать к этому способу, так как swap просто очищается, а не переносится в ОЗУ, и, в случае наличия данных системных процессов, система может стать недоступна.

Источник

Настройка swap в Ubuntu

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

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

Обратите внимание

Хотя использование раздела подкачки на жестком диске HDD это привычное явление, применение такого метода для SSD может вызвать проблемы. SSD имеет ограниченное количество перезаписей одного сектора, а область swap постоянно перезаписывается, это очень сильно снизит срок службы вашего диска. Поэтому использование swap пространства на SSD строго не рекомендуется.

Что такое Swap?

Swap — это пространство подкачки это область на жестком диске, которая используется для временного хранения данных из оперативной памяти, для которых там больше нет места. Это позволяет увеличить объем информации, которую система может хранить в рабочей памяти. Пространство подкачки используется только тогда, когда память уже полностью занята, и туда будут помещаться только данные, которые давно использовались.

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

Проверка Swap

Перед тем как перейти к настройке давайте посмотрим не подключены ли другие разделы подкачки к системе. Для этого выполните:

sudo swapon —show

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

Строка Swap пуста, значит раздела swap пока еще не подключен.

Настройка файла подкачки в Ubuntu 16.04

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

Проверка места на диске

Теперь убедитесь, что на диске есть достаточно свободного места. Самый простой способ узнать свободное место в терминале — это утилита df:

В нашем случае есть достаточно места для размещения пространства подкачки. Размер swap Ubuntu 16.04 зависит от ваших потребностей. Обычно рекомендуют использовать объем в два раза больше чем реальный размер оперативной памяти. Но больше 4 Гб использовать не нужно. Если вы планируете использовать гибернацию на персональном компьютере, то нужно использовать объем, равный объему ОЗУ.

Создание файла подкачки в Ubuntu 16.04

Самый быстрый способ создать swap файл ubuntu такой файл, это использовать утилиту fallocate, она создает файл нужного размера мгновенно. Поскольку у нас 1 Гб оперативной памяти, добавим раздел подкачки ubuntu на 2 Гб. Для этого выполните:

sudo fallocate -l 2G /swapfile

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

Активация swap

Когда файл готов, нам нужно превратить его в файл swap Ubuntu. Сначала нужно заблокировать доступ к нему всем кроме суперпользователя. Для этого выполните:

sudo chmod 600 /swapfile

Теперь только root может читать и изменить этот файл:

Затем создайте файловую систему swap командой:

sudo mkswap /swapfile

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

sudo swapon /swapfile

Вы можете убедиться что все работает с помощью команды:

sudo swapon —show

И еще раз смотрим вывод утилиты free:

Как видите, файл подкачки был успешно создан и активирован. Теперь памяти намного больше и система не зависнет. Но он будет работать только до перезагрузки.

Постоянный файл подкачки

Как я уже сказал, этот swap ubuntu будет работать только до перезагрузки сервера или компьютера. Чтобы настройка Swap в Ubuntu сохранялась после перезагрузки нужно отредактировать файл /etc/fstab. Вы можете вручную добавить строку в файл, но вы можете использовать такую команду:

echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

Настройка раздела подкачки в Ubuntu

Я не буду писать много про то, как выполняется настройка swap в Ubuntu в виде раздела. Все действия аналогичны тем, которые применяются для файла, только вместо файла используется раздел. Допустим, мы хотим использовать раздел /dev/sda2. Сначала создать swap Ubuntu из обычного раздела:

sudo mkswap /dev/sda2

Затем активируйте раздел подкачки:

sudo swapon /dev/sda2

И проверьте все ли прошло правильно:

sudo swapon —show

Если да, то в списке подключенных разделов вы увидите нужный. Осталось добавить строку в /etc/fstab для автоматической активации после перезагрузки:

Читайте также:  Петличный микрофон для windows

echo ‘/dev/sda2 none swap sw 0 0’ | sudo tee -a /etc/fstab

Дополнительные настройки

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

По умолчанию установлено значение 60. Если это значение ближе к 100, система будет пытаться поместить в подкачку больше данных и сберечь память, при значениях близких к нулю, ядро не переносит данные на диск, если в этом нет крайней необходимости. Этот вариант может сделать систему быстрее, особенно актуально для домашних компьютеров.

Чтобы установить значение 10 выполните:

sudo sysctl vm.swappiness=10

А для сохранения этой настройки после перезагрузки:

sudo sysctl -w vm.swappiness=10

Другой параметр, который влияет на количество используемой памяти — это vfs_cache_pressure. Он указывает системе какое время нужно хранить открытые файлы в кэше оперативной памяти. Значение 100 заставляет систему удалять такие файлы очень быстро, 0 — держать их в памяти как можно дольше. Посмотрите текущее состояние:

Чтобы хранить файлы дольше, можно установить значение в 50:

sudo sysctl -w vm.vfs_cache_pressure=50

Выводы

С помощью этой инструкции вы можете на время решить проблему с пространством подкачки если серверу недостаточно памяти, или поможет предотвратить компьютер от зависания. Настройка swap в Ubuntu выполняется очень просто. Если у вас остались вопросы, спрашивайте в комментариях!

Нет похожих записей

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

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

40 комментариев

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

swapon: /swapfile: не удалось выполнить swapon: Недопустимый аргумент

swapon без двоеточия

Такое случается если раздел или файл отформатирован не правильно или там находится что-то лишнее.

ADMIN:
А что-ж Вы не упомянули про параметр —priority влияющей на паритет обращения к разделу и файлу swap ??

Если партишн, на котором создается файл отформатирован в btrfs — то свап, созданный таким образом, работать не будет.

А тот своп раздел что мы создаем при установке он что не рабочий получается?

Рабочий, только не все создают раздел подкачки при установке.

а что лучше файл или раздел?

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

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

Файл гибче, поскольку вы всегда можете изменить размер. Как изменить размер swap-файла? Ubuntu 16.04 x64.

Изменить размер swap-файла: https://google.gik-team.com/?q=%D0%9A%D0%B0%D0%BA+%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C+%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80+swap-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%3F+Ubuntu+16.04+x64
А если вкратце:
1. swapoff -a
2. изменить размер swap-файла
3. swapon -a
При условии, что swap-файл прописан в /etc/fstab и запускается только оттуда. А вообще — в zRAM надо сначала всё пихать, а уж потом на диск swap’иться.

Ну как сказать технология так называемой виртуальной памяти (которая кстати и в Windows NT используется) не заменит по быстродействию
настоящий RAМ . Тут ещё подбирать нужно кооф. swap т.к для тяжёлых приложений он нужен больше для сервера вообще отдельная песня.

ADMIN: В большинстве дистрибутивов установщик Аnaconda не начнёт установку или разметку HDD пока Вы не создадите swap раздел.
и я считаю это правильно чем позднее после установки уменьшать разделы на уже работающей системе . (:imho)

OS: Mint Linux 18 Cinnamon
Данная команда не сохраняет параметр после перезагрузки!
$ sudo sysctl -w vm.swappiness=10

Помогает только добавление параметра в файл /etc/sysctl.conf

Так это естесственно, ведь sysctl -w всего лишь записывает параметр на любом Линукс, а чтоб он оставался после перезагрузки, надо править файл /etc/sysctl.conf или писать команду в скрипт автозапуска, но, чтоб он запускался позже.

Почитал статью, подумал подумал и решил отказаться от свап-раздела в угоду zram. Весь SSD отдал под корень с хомяком с ФС btrfs, затем sudo apt install zram-config и усё..

Вы советуете изменить значение интенсивности использования пространства подкачки с 60 на 10,
(этот вариант может сделать систему быстрее),
и параметр в vfs_cache_pressure со 100 на 50. Но не рассказали что дает изменение со 100 на 50.
Ответьте пожалуйста.

Вопрос интересный. Везде рекомендуют это значение наоборот увеличить если ОЗУ больше 2ГБ, но тут 1 ГБ. Вот типичное описание:
«В псевдофайле vfs_cache_pressure хранится значение — уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Увеличение этого параметра заставляет ядро активнее выгружать неиспользуемые страницы памяти из кеша, т.е. количество выделяемой оперативной памяти под кеш будет расти медленнее, что в свою очередь снизит вероятность того, что будет задействован раздел swap. При уменьшении этого параметра ядро, наоборот, будет дольше держать страницы памяти в кеше, в том числе и в swap’е. Это имеет смысл при небольшом количестве ОЗУ, например, если у нас 512 МБ памяти, то параметр vfs_cache_pressure можно выставить равным 50. Это позволит сократить количество дисковых операций в swap разделе, так удаление неиспользуемых страниц будет происходить реже. Дальнейшее уменьшение этого параметра может привести к нехватке памяти.
Если вы хотите ускорить работу системы и у вас достаточно оперативки (2 Гб и более), то измените значение системы, так: swappiness = 10 , vfs_cache_pressure = 1000 (по умолчанию 100)»

Источник

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