How to add swap space on Ubuntu
The smartest way of shielding against out-of-memory errors in your applications is to add some swap space to your server. In this guide, we will cover how to add a swap file to an Ubuntu 18.04 server.
What is Swap?
Swap is an area on a hard drive that has been designated as a place where the operating system can temporarily store data that it can no longer hold in RAM. Basically, this gives you the ability to increase the amount of information that your server can keep in its working “memory”, with some caveats. The swap space on the hard drive will be used mainly when there is no longer sufficient space in RAM to hold in-use application data.
Checking the System for Swap Information
Before we begin, we need to check if the system already has some swap space available. It is possible to have multiple swap files or swap partitions, but generally one should be enough though.
We can see if the system has any configured swap by typing:
If you don’t get back any output, this means your system does not have swap space available currently.
You can verify that there is no active swap using the free utility:
As you can see in the Swap row of the output, no swap is active on the system.
Checking Available Space on the Hard Drive Partition
Before we create our swap file, we’ll check our current disk usage to make sure we have enough space. Do this by entering:
The device with / in the Mounted on column is our disk in this case. We have plenty of space available in this example (only 1.4G used). Your usage will probably be different.
Generally for swap size, an amount equal to or double the amount of RAM on your system is a good starting point. Another good rule of thumb is that anything over 4G of swap is probably unnecessary if you are just using it as a RAM fallback.
Creating a Swap File
Let’s create it now
Now that we know our available hard drive space, we can create a swap file on our filesystem. We will allocate a file of the swap size that we want called swapfile in our root (/) directory.
The best way of creating a swap file is with the fallocate program. This command instantly creates a file of the specified size.
Since the server in our example has 1G of RAM, we will create a 1G file in this guide. Adjust this to meet the needs of your own server:
We can verify that the correct amount of space was reserved by typing:
Enabling the Swap File
Now that we have a file of the correct size available, we need to actually turn this into swap space.
First, we need to lock down the permissions of the file so that only the users with root privileges can read the contents. This prevents normal users from being able to access the file.
Make the file only accessible to root by typing:
Verify the permissions change by typing:
As you can see, only the root user has the read and write flags enabled.
We can now mark the file as swap space by typing:
After marking the file, we can enable the swap file, allowing our system to start utilising it:
Verify that the swap is available by typing:
We can check the output of the free utility again:
Congrats!, Our swap has been set up successfully and our operating system will begin to use it as necessary.
Making the Swap File Permanent
Our recent changes have enabled the swap file for the current session. However, if we reboot, the server will not retain the swap settings automatically.
We can change this by adding the swap file to our /etc/fstab file.
Back up the /etc/fstab file in case anything goes wrong:
Add the swap file information to the end of your /etc/fstab file by typing:
echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
Next we’ll review some settings we can update to tune our swap space.
Tuning your Swap Settings
Adjusting the Swappiness Property
The swappiness parameter configures how often your system swaps data out of RAM to the swap space. This is a value between 0 and 100 that represents a percentage.
We can see the current swappiness value by typing:
For a Desktop, a swappiness setting of 60 is not a bad value. For a server, you might want to move it closer to 0.
We can set the swappiness to a different value by using the sysctl command.
For instance, to set the swappiness to 10, we could type:
This setting will persist until the next reboot. We can set this value automatically at restart by adding the line to our /etc/sysctl.conf file:
At the bottom, you can add:
Save and close the file when you are finished.
Adjusting the Cache Pressure Setting
Another related value that you might want to modify is the vfs_cache_pressure . This setting configures how much the system will choose to cache inode and dentry information over other data.
As it is currently configured, our system removes inode information from the cache too quickly. We can set this to a more conservative setting like 50 by typing:
sudo sysctl vm.vfs_cache_pressure=50
Again, this is only valid for our current session. We can change that by adding it to our configuration file like we did with our swappiness setting:
Ubuntu как увеличить swap
SWAP – один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ во вторичное хранилище (отдельный раздел или файл), освобождая ОЗУ для загрузки других активных фрагментов памяти.
Более подробно о механизме своппинга можно прочитать в Википедии.
Дополнительно SWAP используется при организации режима сна (hibernation или suspend to disk). При этом в SWAP сохраняется образ оперативной памяти.
Размещение
SWAP может быть размещен на разделе диска, в файле или в RAM. Исторически в Linux SWAP размещался на разделе, но в современных дистрибутивах производительность SWAP-файла не уступает SWAP-разделу. Однако стандартный установщик Ubuntu (до версии 17.04) не умеет создавать SWAP-файл при установке и выдает предупреждение, если SWAP-раздел не определен при разметке диска. Начиная с версии 17.04, Ubuntu предлагает по умолчанию создавать SWAP в файле (объем определяется как 5% от свободного на диске места, но не более 2 Гб). Использование SWAP-файла имеет некоторые преимущества: он не занимает отдельный раздел, его легко создать, изменить его размер или удалить.
Дополнительно при выборе размещения SWAP нужно учитывать, что не все файловые системы позволяют использовать прямую адресацию блоков SWAP-файла. Так, к примеру, нельзя использовать SWAP в файле на разделе с файловой системой btrfs(по состоянию на середину 2017).
Безопасность
При работе с секретными/зашифрованными данными часть этих данных в процессе работы либо при гибернации может оказаться в SWAP в расшифрованном виде. В таких случаях рекомендуется шифровать не только данные, но и сам SWAP. Однако нужно учитывать, что у режима сна при шифровании SWAP могут возникнуть сложности.
Размер
В Интернете можно найти множество рекомендаций по определению размера SWAP, однако универсального ответа не существует.
При определении размера SWAP следует учесть следующие аспекты:
В зависимости от ответов на эти вопросы рекомендации по размеру SWAP будут значительно различаться.
Для машин с незначительным объемом памяти (меньше 2 Гб) рекомендуется создавать SWAP размером от 1,5 до 2-х размеров оперативной памяти. И стоит попробовать изменять vm.swappiness, но лучше поискать возможность увеличить объем оперативной памяти.
Для машин с объемом памяти 3-4 Гб нужно решить, будет ли использоваться suspend to disk. Если да, то нужно создавать SWAP размером на 10-15% больше размера оперативной памяти. Если же suspend to disk использоваться не будет, то можно создать SWAP небольшого размера (размером от половины до 1 объема оперативной памяти). Можно не создавать SWAP при установке системы, а при необходимости добавить его позже как файл.
На компьютерах с объемами оперативной памяти более 6Gb имеет смысл создать SWAP размером в половину от объема оперативной памяти. При этом, если вы хотите использовать гибернацию, следует оценить загрузку оперативной памяти в процессе работы и задать величину SWAP, исходя из этого. К примеру, если объем оперативной памяти составляет 16 ГБ, а рабочая загрузка не превышает в среднем 5-6 ГБ, величины SWAP-раздела в 8 ГБ вам хватит для гибернации. При таком подходе следует помнить, что при использовании ресурсоёмких программ (рендеринг изображения, компиляция огромных проектов и т.п.) оперативная память может заполняться полностью, а SWAP — использоваться в качестве подкачки. В таких ситуациях размер SWAP нужно выбирать индивидуально.
При работе с секретными (зашифрованными) данными стоит либо шифровать SWAP, либо рассмотреть вариант с отказом от SWAP вовсе (зависит от размера оперативной памяти). Стоит также рассмотреть вариант с шифрованием всего диска.
Создание SWAP на разделе диска
Разобравшись с требованиями к SWAP, можно приступить к его созданию или изменению.
Ядро Linux может работать с несколькими частями SWAP. Поэтому если вы решили, что созданного при установке системы SWAP-раздела недостаточно, то стоит создать дополнительный SWAP (выделить место под раздел или файл). Однако нужно учитывать, что для гибернации нужен непрерывный блок SWAP, который должен иметь размер больший, чем оперативная память.
К примеру, у нас есть раздел /dev/sdc2 (ваше имя раздела может отличаться). Создадим на нем необходимую структуру данных для работы SWAP:
Подключим раздел как SWAP:
Проверить результат можно, посмотрев на вывод команды
Сделаем автомонтирование SWAP-раздела при запуске системы. Узнаем UUID раздела:
Теперь пропишем строку в /etc/fstab
SWAP с динамически изменяемым размером
Если вы не хотите думать об объеме SWAP, имеет смысл воспользоваться утилитой swapspace (динамический менеджер подкачки). Эта утилита работает в фоновом режиме и динамически управляет подкачкой. При необходимости swapspace автоматически создаёт дополнительные файлы подкачки требуемого размера. Неиспользуемые файлы подкачки удаляются и не занимают место.
Однако, если вы работаете с секретными документами, не забудьте указать swapspace создавать SWAP-файлы на зашифрованном диске или внутри шифрованного контейнера 1) .
Hibernate (suspend to disk, гибернация)
О настройке режима гибернации можно прочитать здесь.
Параметр vm.swappiness
Основной параметр, влияющий на работу системы со swap, — это vm.swappiness. Очень приблизительно этот параметр можно определить так: он задает процент свободной оперативной памяти, при котором начинается использование подкачки. Более точное определение смысла этой переменной можно уяснить из описания которое было дано в рассылке kernel.org — статья на английском.
Без особой необходимости трогать его не рекомендуется.
Скорректировать значение, применяемое при загрузке системы, можно, указав в файле /etc/sysctl.conf значение vm.swappiness. Пример:
Мгновенно применить эту настройку можно с помощью следующей команды:
Актуальное значение, используемое ядром в настоящее время, можно просмотреть или изменить в /proc/sys/vm/swappiness.
Изменения в /proc/sys/vm/swappiness будут сброшены при следующей перезагрузке.
Как в Linux Mint и Ubuntu увеличить и раздел подкачки. Как в Linux создать файл подкачки Swap
В этой статье на примере Linux Mint и Ubuntu мы научимся смотреть информацию по разделе подкачки, создавать файл подкачки, а также увеличивать доступное для подкачки место.
Файл подкачки — это определённое место на постоянном хранилище (например, на жёстком диске), куда на время сбрасываются данные, которые не умещаются в оперативную память. То есть это возможность увеличить количество оперативной памяти без покупки модулей ОЗУ. Правда, такая «виртуальная» оперативная память работает медленнее.
Посмотреть текущий размер раздела подкачки можно командой:
Либо командой free:
Как можно увидеть, в системе присутствует файл подкачки размером 2 Гигабайта, что, предположим, недостаточно.
Отключаем и удаляем этот файл подкачки следующими командами:
На диске должно быть достаточно места, чтобы туда поместился файл подкачки того размера, который вы задали.
Для создания файла подкачки размером 8G (измените значение по вашему желанию) выполните команду:
Затем выполните команды:
Откройте системный монитор, чтобы убедиться, что система видит файл подкачки:
Либо это можно сделать командой:
Вот и всё! Вам даже не нужно перезагружать систему, чтобы изменения вступили в силу.
Кстати, если вы вновь заходите изменить размер файла подкачки (в сторону увеличения или в сторону уменьшения — не важно), то в точности следуйте этой же инструкции ещё раз, но при создании файла подкачки укажите другой размер.
Как в Linux Mint и Ubuntu удалить файл подкачки
Для полного удаления файла подкачки выполните команды:
Затем откройте файл /etc/fstab:
И удалите из него строку:
Ошибка «fallocate: fallocate failed: Текстовый файл занят»
Если вы столкнулись с ошибкой:
Это означает, что вы хотите создать файл подкачки, но файл с таким именем уже существует и всё ещё используется. На английском ошибка выглядит так: fallocate: fallocate failed: Text file busy.
Для его отключения и удаления выполните команды:
Управление файлами подкачки в других Linux
Для увеличения или создания файла подкачки в других дистрибутивах смотрите статьи:
- Как в Kali Linux создать или увеличить файл подкачки (Swap)
- Файл подкачки и раздел подкачки в Arch Linux: что выбрать и как добавить Swap
Как создать раздел подкачки на другом диске
Вам необязательно использовать для свопа именно системный диск, на котором может быть мало место. Вы можете создать раздел на любом диске в системе. Подробности смотрите в инструкции «Как создать раздел подкачки не на системном диске. Как переместить раздел подкачки на другой диск».
Как проверить использование файла подкачки в Linux
Стресс-тестирование системы в сценарии исчерпания всей оперативной памяти: Как проверить использование файла подкачки в Linux
Настройка swap в Ubuntu
Оперативная память имеет очень важное значение для нормальной работы компьютера. В ней размещаются все программы и их данные во время работоспособности устройства. Когда память переполняется, программы могут выдавать различные ошибки или даже прекращать работу. Время отклика системы увеличивается настолько, что работать с ней становиться невозможным.
Самый простой способ увеличить количество оперативной памяти и защитить систему от переполнения памяти, это добавить раздел swap в Ubuntu. В этой статье будет рассмотрено как выполняется настройка swap в Ubuntu 20.04. Будет рассмотрен вариант с добавлением swap как на время работы устройства, так и на постоянное использование.
Обратите внимание
Хотя использование раздела подкачки на жестком диске HDD это привычное явление, применение такого метода для SSD может вызвать проблемы. SSD имеет ограниченное количество перезаписей одного сектора, а область swap постоянно перезаписывается, это очень сильно снизит срок службы вашего диска. Поэтому использование swap пространства на SSD строго не рекомендуется.
Что такое Swap?
Swap (так же известна как пространство подкачки) — это область на жестком диске, которая используется для временного хранения данных из оперативной памяти, для которых там больше нет места. Это позволяет увеличить объем информации, которую система может хранить в рабочей памяти. Пространство подкачки используется только тогда, когда память уже полностью занята, и туда будут помещаться только данные, которые давно использовались.
Работа с информацией будет выполняться намного медленнее, чем в оперативной памяти, но операционная система будет продолжать работать и использовать swap только для старых данных. В целом, это может быть отличной защитой от переполнения оперативной памяти. Пространство подкачки можно настроить двумя способами, добавив раздел подкачки для Ubuntu на диске или создать файл подкачки.
Проверка Swap
Перед тем как перейти к настройке необходимо проверить не подключены ли разделы подкачки к системе. Для этого необходимо выполнить команду:
Если команда вернет строчку с названием swapfile, это означает что swap в системе уже присутствует:

Если ничего не будет выведено, значит в системе swap не настроен:

Также можно убедиться, что swap активирован или не активирован в системе с помощью утилиты free которая помимо отображения объёма оперативной памяти также отображает информацию об разделе swap:
Строка со swap отображает значение 2,0 GB. Это означает что swap включен и будет использоваться 2 ГБ жёсткого диска, когда память будет переполнена:

Если значения в разделе swap отображаются по нулям это значит, что раздел swap не подключен:

Настройка файла подкачки в Ubuntu 20.04
На серверах часто используется файл подкачки, такой способ применяется, потому что не всегда есть возможность менять разметку диска для выделения раздела swap.
1. Проверка места на диске
Необходимо убедится, что на жёстком диске есть достаточно свободного места. Самый простой способ узнать количество свободного места в терминале – воспользоваться утилитой df:

В данном случае есть достаточно места для размещения и увеличения пространства подкачки. Размер swap в Ubuntu 20.04 зависит от потребностей. Обычно рекомендуют использовать объем в два раза больше, чем реальный размер оперативной памяти. Но как правило больше 4 Гб использовать не нужно. Если планируется использовать гибернацию на персональном компьютере, то нужно использовать объем, равный объему ОЗУ.
2. Создание файла подкачки
Самый быстрый способ создать swap файл в Ubuntu 20.04 – это использовать утилиту fallocate, она создает файл нужного размера мгновенно. Поскольку в качестве примера используется машина с 8 Гб оперативной памяти, необходимо добавить раздел подкачки на 3 Гб. Для этого необходимо выполнить команду:
sudo fallocate -l 3G /swapfile

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

Активация swap
Когда файл готов, необходимо превратить его в файл swap. Сначала нужно заблокировать доступ к нему всем кроме суперпользователя. Для этого необходимо выполнить:
sudo chmod 600 /swapfile
Теперь только пользователь root может читать и изменить данный файл:

Далее необходимо создать файловую систему swap командой:
sudo mkswap /swapfile

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

После этого можно убедиться, что swap включен, выполнив команду:

Так же наличие swap можно проверить при помощи утилиты free, выполнив команду:

Файл подкачки был успешно создан и активирован. Теперь памяти доступно больше и система не зависнет при нехватке оперативной памяти. Но данный способ будет работать только до перезагрузки устройства.
Постоянный файл подкачки
Как уже было сказано ранее, данный swap будет работать только до перезагрузки сервера или компьютера. Чтобы настройка swap в Ubuntu 20.04 сохранялась после перезагрузки нужно отредактировать файл /etc/fstab. Можно вручную добавить строку в файл, но также можно использовать следующую команду:
echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

Настройка раздела подкачки в Ubuntu 20.04
Настройка swap в Ubuntu 20.04 в виде раздела аналогична тем же методам, которые применяются для создания swap в виде файла, отличие только в том, что вместо файла используется раздел. Предположим, необходимо использовать раздел /dev/sda2. Сначала необходимо создать swap из обычного раздела:
sudo mkswap /dev/sda2
Далее активировать раздел подкачки:
sudo swapon /dev/sda2
И проверить все ли прошло правильно:
Если да, то в списке подключенных разделов отобразится нужный. Последним шагом остаётся добавить строку в /etc/fstab для автоматической активации после перезагрузки:
echo ‘/dev/sda2 none swap sw 0 0’ | sudo tee -a /etc/fstab
Дополнительные настройки
Можно контролировать интенсивность использования пространства подкачки в Ubuntu 20.04 с помощью параметра ядра 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 20.04 выполняется очень просто. Если у вас остались вопросы, спрашивайте в комментариях!
Похожие записи
Оцените статью
alt=»Creative Commons License» width=»» />
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
41 комментарий к “Настройка swap в Ubuntu”
Всегда использовал раздел подкачки, но после прочтения статьи возник вопрос, если создать постоянный файл подкачки, то можно будет с этим файлом ипользовать гибернацию или нужны дополнительные настройки?
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)»
«изменить значение интенсивности использования пространства подкачки с 60 на 10» — этот вариант сделает систему быстрее ровно до того момента, пока не начнётся использоваться SWAP. поэтому этот параметр надо подбирать индивидуально. При наличии SWAP на HDD и ОЗУ меньше 4 ГБ — я бы не советовал выставлять vm.swappiness=10 при использовании ресурсоёмких приложений, например, более 40-а открытых вкладок в Firefox, т.к. в момент начала SWAP’а, при остатке 10% свободного места в ОЗУ, начнётся валовая скидка инфы из ОЗУ в SWAP — тормоза, да и только. Штатный vm.swappiness=60 растягивает скидку инфы в SWAP, что относительно выравнивает быстродействие ПК в целом за счёт замедления в начале.
Более выгодным оказывается вариант использования SWAP в zRAM.
Вот примерно подобрано (ресурсоёмкие приложения используются редко):
HDD, RAM 1-2GB — zRAM=40% от RAM, SWAP=200% от RAM, vm.swappiness=50 (SWAP используется редко, особенно на 2GB ОЗУ; вовсю используется SWAP в zRAM)
SSD, RAM 8GB — zRAM=25% от RAM, SWAP=100% от RAM, vm.swappines=30 (SWAP на жёсткий не используется вообще, кроме включения hybernate, для него и оставлен; SWAP в zRAM используется очень редко)
Что касаемо изменения vm.vfs_cache_pressure, то это имеет смысл при маленьком размере ОЗУ, так, например, при 1ГБ ОЗУ — вполне уместно выставить vm.vfs_cache_pressure=50, что слегка ускоряет систему; на 2 ГБ ОЗУ — спорный вопрос, но скорее да, чем нет. При ОЗУ более 4ГБ — смысл менять этот параметр не вижу. Выставлять vm.vfs_cache_pressure более, чем 200, я пробовал — смысла не вижу. А выставление vm.vfs_cache_pressure=1000 — замедляет систему при любом размере ОЗУ, см. оф. описание: https://www.kernel.org/doc/Documentation/sysctl/vm.txt
«Increasing vfs_cache_pressure significantly beyond 100 may have negative performance impact. Reclaim code needs to take various locks to find freeable directory and inode objects. With vfs_cache_pressure=1000, it will look for ten times more freeable objects than there are.»
Увеличение vfs_cache_pressure значительно выше 100 может отрицательно сказаться на производительности. Код возврата должен принимать различные блокировки для поиска свободных каталогов и объектов inode. С vfs_cache_pressure = 1000 он будет искать в десять раз больше свободных объектов, чем есть.
Поясните, пожалуйста, такой момент:
Если файловая система на диске btrfs, а эта файловая система (как я понял) не дружит со swap, то будут ли проблемы с созданием файла подкачки?
Файл подкачки можно создать без проблем, к тому же ничего не мешает вынести раздел подкачки на отдельный, не btrfs раздел.
Я в предыдущем своём сообщении совершенно забыл ссылку дать:
https://btrfs.wiki.kernel.org/index.php/FAQ#Does_btrfs_support_swap_files.3F
А о чём тогда это сообщение? О каких проблемах упоминается там?
>>ничего не мешает вынести раздел подкачки на отдельный, не btrfs раздел.
Я почему задаю этот вопрос, потому что убунта 17 решила отказаться от отдельного раздела в пользу файла подкачки. И я пытаюсь разобраться что же делать с btrfs.
Офигеннай сайт — так держать, я прочитал на нем всего 2е инструкции, но думаю уже добавить его в закладки, т.к. на редкость эти мануалы работают.
Всё замечательно получилось вот только как всё вернуть как было не знаю, я не шарю пока в ubuntu подскажите.
$ sudo swapon —show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -1
/dev/sda5 partition 2G 0B -2
user@.
$ free -h
total used free shared buff/cache available
Память: 1,9G 748M 327M 211M 867M 759M
Подкачка: 3,9G 0B 3,9G
Не нравится мне то что я натворил
Ну вроде правильно ты размер swap создал, в два раза больше чем свой ОЗУ
Автор просто молодец! Отличная подача материала! Огромное спасибо.
А что за тема для Ubuntu или это какой-то не дефолтный терминал?
Вы про это: https://hkar.ru/WjcQ ?
Так то штатный Cinnomon’овский Mint Просто PS1 сменён под своё удобство, вот, например, отрывок из моего /etc/bash.bashrc, что в моём Mint LMDE 3 находится:
if [[ $
PS1=’$(e=$?; (( $e != 0 )) && echo -e «\033[33mError: \033[31;1m$e\n\n»)\n\[\033[00;34m\]$
else
PS1=’$(e=$?; (( $e != 0 )) && echo -e «\033[33mError: \033[31;1m$e\n\n»)\n\[\033[00;34m\]$
fi
Вот ещё скрин с root’ом: https://hostingkartinok.com/show-image.php?id=c57edc5c3c79f0fe381fe4bced00422c
И да: описочка вышла — cinnamon
На панели сверху снизу внимания не обращайте — на Satellite L635 экранчик всего 13.4 дюйма. не помещается всё внизу — слишком мелко и нечитабельно, когда по 20 вкладок открыто, вот и вынес наверх половину, т.к. сбоку мне не удобно.
Добрый день. Возникает такая проблема.
root@viktor:
# sudo fallocate -l 2G /swapfile
root@viktor:
# sudo chmod 600 /swapfile
root@viktor:
# sudo mkswap /swapfile
mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=ec0d16ba-8ce6-4e1e-9902-5dea4ad3ff06
Естесственно, ведь сам файл-то Вы не создали. как-то так:
root@viktor:
# sudo dd if=/dev/zero bs=1024 count=2000000 /swapfile
root@viktor:
# sudo chmod 600 /swapfile
root@viktor:
# sudo mkswap /swapfile
Хотел уточнить, у меня на сервере заведен своп раздел, добавление своп файла увеличит общий объем. Раздел и файл могут работать вместе?
Всё верно. Объем увеличится.
А для сохранения этой настройки после перезагрузки:
sudo sysctl -w vm.swappiness=10
Это как понять? Ничего не сохраняет!
про /etc/sysctl.conf я знаю
В чём может быть ошибка если после создания файла подкачки он не задействуется? 0 байт пишет из 4Гиб
Как преодолеть ограничение swapon в 230 Гб?
Как не создавай файл или раздел, всё равно swapon ипсользует и показывает только 230 Гб.