- How to Increase Swap Size on Ubuntu Linux
- Increase swap size on Ubuntu
- How to Create and Use Swap File on Linux
- What is a swap file in Linux?
- Check swap space in Linux
- Create swap file on Linux
- Step 1: Make a new swap file
- Step 2: Mark the new file as swap space
- Step 3: Enable the swap file
- Step 4: Make the changes permanent
- Adjust swappiness
- Resizing swap space on Linux
- Removing swap file in Linux
- Файл подкачки Linux
- Как посмотреть swap в Linux
- Создание файла подкачки Linux
- Шаг 1: Создаем swap файл
- Шаг 2: Создание файловой системы
- Шаг 3: Активируем файл подкачки
- Шаг 4. Сохранение изменений после перезагрузки
- Настройка swappiness
- Размер swap файла в Linux
- Как удалить файл подкачки в Linux
- В заключение
- Оцените статью:
- Об авторе
- 14 комментариев
How to Increase Swap Size on Ubuntu Linux
The recent releases of Ubuntu use swap file instead of the traditional swap partition. The swap file is simply a file under the root which is used as swap to share the burden on the RAM.
The biggest advantage of using a swap file is that you can easily resize it. That’s not always the case when you use a dedicated swap partition.
Let’s see how to resize the swap space on Ubuntu.
Increase swap size on Ubuntu
If you are using swap partition and want to increase the swap size, you can create swap file. Your Linux system can use multiple swap spaces as needed. This way, you won’t have to touch the partition.
This tutorial assumes that you are using swap file on your system, not a swap partition.
Now, let’s see how to increase the swap file. First thing first, make sure that you have a swap file in your system.
It will show the current swap available. If you see the type file, it indicates that you are using a swap file.
Now before you resize the swap file, you should turn the swap off. You should also make sure that you have enough free RAM available to take the data from swap file. Otherwise, create a temporary swap file.
You can disable a given swap file using this command. The command doesn’t produce any output and it may take a few minutes to complete:
Now use the fallocate command in Linux to change the size of the swap file.
Make sure that you mark this file as swap file:
You should see an output like this where it warns you that old swap signature is being wiped out.
Once you do that, enable the swap file:
That’s it. You just increased the swap size in Ubuntu from 2 GB to 4 GB. You can check swap size using the free command or the swapon —show command.
You see how easy it is to resize swap size thanks to the swap files. You didn’t touch the partition, you didn’t reboot the system. Everything was done on the fly. How cool is that!
I hope you found this quick tutorial helpful in resizing the swap space on Ubuntu as well as other Linux distributions. If you have questions or suggestions, please leave a comment below.
Источник
How to Create and Use Swap File on Linux
Last updated August 29, 2019 By Abhishek Prakash 55 Comments
This tutorial discusses the concept of swap file in Linux, why it is used and its advantages over the traditional swap partition. You’ll learn how to create swap file or resize it.
What is a swap file in Linux?
A swap file allows Linux to simulate the disk space as RAM. When your system starts running out of RAM, it uses the swap space to and swaps some content of the RAM on to the disk space. This frees up the RAM to serve more important processes. When the RAM is free again, it swaps back the data from the disk. I recommend reading this article to learn more about swap on Linux.
Traditionally, swap space is used as a separate partition on the disk. When you install Linux, you create a separate partition just for swap. But this trend has changed in the recent years.
With swap file, you don’t need a separate partition anymore. You create a file under root and tell your system to use it as the swap space.
With dedicated swap partition, resizing the swap space is a nightmare and an impossible task in many cases. But with swap files, you can resize them as you like.
Recent versions of Ubuntu and some other Linux distributions have started using the swap file by default. Even if you don’t create a swap partition, Ubuntu creates a swap file of around 1 GB on its own.
Let’s see some more on swap files.
Check swap space in Linux
Before you go and start adding swap space, it would be a good idea to check whether you have swap space already available in your system.
You can check it with the free command in Linux. In my case, my Dell XPS has 14GB of swap.
The free command gives you the size of the swap space but it doesn’t tell you if it’s a real swap partition or a swap file. The swapon command is better in this regard.
As you can see, I have 14.9 GB of swap space and it’s on a separate partition. If it was a swap file, the type would have been file instead of partition.
If you don’ have a swap space on your system, it should show something like this:
The swapon command won’t show any output.
Create swap file on Linux
If your system doesn’t have swap space or if you think the swap space is not adequate enough, you can create swap file on Linux. You can create multiple swap files as well.
Let’s see how to create swap file on Linux. I am using Ubuntu 18.04 in this tutorial but it should work on other Linux distributions as well.
Step 1: Make a new swap file
First thing first, create a file with the size of swap space you want. Let’s say that I want to add 1 GB of swap space to my system. Use the fallocate command to create a file of size 1 GB.
It is recommended to allow only root to read and write to the swap file. You’ll even see warning like “insecure permissions 0644, 0600 suggested” when you try to use this file for swap area.
Do note that the name of the swap file could be anything. If you need multiple swap spaces, you can give it any appropriate name like swap_file_1, swap_file_2 etc. It’s just a file with a predefined size.
Step 2: Mark the new file as swap space
Your need to tell the Linux system that this file will be used as swap space. You can do that with mkswap tool.
You should see an output like this:
Step 3: Enable the swap file
Now your system knows that the file swapfile can be used as swap space. But it is not done yet. You need to enable the swap file so that your system can start using this file as swap.
Now if you check the swap space, you should see that your Linux system recognizes and uses it as the swap area:
Step 4: Make the changes permanent
Whatever you have done so far is temporary. Reboot your system and all the changes will disappear.
You can make the changes permanent by adding the newly created swap file to /etc/fstab file.
It’s always a good idea to make a backup before you make any changes to the /etc/fstab file.
Now you can add the following line to the end of /etc/fstab file:
You can do it manually using a command line text editor or you just use the following command:
Now you have everything in place. Your swap file will be used even after you reboot your Linux system.
Adjust swappiness
The swappiness parameters determines how often the swap space should be used. The swappiness value ranges from 0 to 100. Higher value means the swap space will be used more frequently.
The default swappiness in Ubuntu desktop is 60 while in server it is 1. You can check the swappiness with the following command:
Why servers should use a low swappiness? Because swap is slower than RAM and for a better performance, the RAM should be utilized as much as possible. On servers, the performance factor is crucial and hence the swappinness is as low as possible.
You can change the swappiness on the fly using the following systemd command:
This change it only temporary though. If you want to make it permanent, you can edit the /etc/sysctl.conf file and add the swappiness value in the end of the file:
Resizing swap space on Linux
There are a couple of ways you can resize the swap space on Linux. But before you see that, you should learn a few things around it.
When you ask your system to stop using a swap file for swap area, it transfers all the data (pages to be precise) back to RAM. So you should have enough free RAM before you swap off.
This is why a good practice is to create and enable another temporary swap file. This way, when you swap off the original swap area, your system will use the temporary swap file. Now you can resize the original swap space. You can manually remove the temporary swap file or leave it as it is and it will be automatically deleted on the next boot.
If you have enough free RAM or if you created a temporary swap space, swapoff your original file.
Now you can use fallocate command to change the size of the file. Let’s say, you change it to 2 GB in size:
Now mark the file as swap space again:
And turn the swap on again:
You may also choose to have multiple swap files at the same time.
Removing swap file in Linux
You may have your reasons for not using swap file on Linux. If you want to remove it, the process is similar to what you just saw in resizing the swap.
First, make sure that you have enough free RAM. Now swap off the file:
The next step is to remove the respective entry from the /etc/fstab file.
And in the end, you can remove the file to free up the space:
Do you swap?
I think you now have a good understanding of swap file concept in Linux. You can now easily create swap file or resize them as per your need.
If you have anything to add on this topic or if you have any doubts, please leave a comment below.
Like what you read? Please share it with others.
Источник
Файл подкачки Linux
Сегодня мы будем говорить о файле подкачки в Linux. Расскажем для чего он нужен, как создать, изменить размер или удалить. В общем, все, что вам может понадобиться при работе со swap .
В операционной системе Linux, как и в других ОС, файл подкачки нужен для страховки оперативной памяти. Когда установленный объем ОЗУ заканчивается, используется именно выделенная область из файла подкачки. Это может понадобиться в двух случаях:
- Для того чтобы при полной занятости и, как следствие, отсутствия свободной оперативной памяти, компьютер не тормозил.
- Для распределения приоритетов (важным процессам отдается физическая оперативная память, а второстепенным файл подкачки Linux).
Сам по себе swap — это отдельный логический раздел вашего диска либо просто файл на системном разделе. Чаще всего он создается именно при установке операционной системы. Но создать swap linux можно и после завершения инсталляции ОС.
В последних версиях операционной системы Ubuntu Linux файл подкачки создается автоматически вне зависимости от того, хотите вы этого или нет. При этом его размер составляет около 1 Гб.
Как посмотреть swap в Linux
Прежде чем приступить к процессу добавления, настройки или удаление файла подкачки , необходимо проверить его наличие. Для этого проще всего использовать приведенную ниже команду. В нашем случае она выглядит так:
Используемая команда отображает размер файла подкачки вашей операционной системы. Однако, по ее результатам мы не можем определить – это файл подкачки или раздел подкачки. Поэтому будем использовать дополнительный другую команду, чтобы посмотреть swap linux. Вводим в терминал следующее:
Как видите, в нашем случае под swap выделено 1.4 Гб и это файл. То есть, он находится не на отдельном разделе, а на том же диске, на котором установлена операционная система.
Если это будет отдельный логический том, то под надписью « TYPE » мы увидим слово «partition».
Если бы файл подкачки в вашей операционной системе отсутствовал, результат работы команды free — h выглядел бы примерно так:
То есть, вместо каких-либо данных о файле подкачки вы увидите нули.
Создание файла подкачки Linux
Если вы удостоверились в том, что файл подкачки отсутствует, можно переходить к его созданию. Пример, приведенный ниже, будет показан с использованием операционной системы Ubuntu 18.04, но работать это должно и на других дистрибутивах Linux.
Шаг 1: Создаем swap файл
Давайте создадим файл подкачки для нашей Ubuntu. Для примера его размер составит 1 Гб. Запустите терминал и введите команду, приведенную ниже:
sudo fallocate -l 1G /swapfile
Для обеспечения безопасности файла обязательно устанавливаем на него нужные права.
sudo chmod 600 /swapfile
При этом вместо «swapfile» мы можем указать любое другое название.
Шаг 2: Создание файловой системы
Создание swap linux ещё не завершено. Теперь необходимо указать нашей операционной системе, что созданный объект должен использоваться как файл подкачки. Для этого мы будем использовать команду, приведенную ниже:
sudo mkswap /swapfile
Если все сделано верно, результат будет выглядеть так:
Шаг 3: Активируем файл подкачки
Хорошо, теперь наш Linux понимает, что это файл подкачки, но этого недостаточно. Нам также необходимо включить SWAP :
sudo swapon /swapfile
Давайте проверим, все ли мы сделали правильно:
Отлично, операционная система распознала наш файл подкачки и начала его использовать. Мы видим тип в поле TYPE и размер в поле SIZE .
Шаг 4. Сохранение изменений после перезагрузки
Все операции, которые мы предприняли выше, временны. Как только компьютер будет перезагружен, они отменятся. Для того чтобы сделать изменения постоянными, нам необходимо дописать кое-какую информацию в /etc/fstab. Для этого поступаем так:
Прежде чем начать работать с файлом, о котором мы говорим, необходимо обязательно создать его резервную копию:
sudo cp /etc/fstab /etc/fstab.back
После этого можно переходить непосредственно к добавлению нужных нам данных. Нам надо добавить в файл такую строчку:
/swapfile none swap sw 0 0
Это реализуется через текстовый редактор, запущенный с правами суперпользователя, либо при помощи введенной в терминал команды:
echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
Готово. Изменения сохранены и файл подкачки не сбросится после перезагрузки операционной системы.
Настройка swappiness
Дальше будет рассмотрена настройка swap linux. У файла подкачки существуют параметры, которые сообщают ОС, как часто его нужно использовать. Это явление называется «свопингом» и может иметь значение в пределах 0 — 100. Если это значение ближе к 100, ядро будет перемещать в раздел подкачки больше информации чтобы освободить память. При значениях ближе к нулю, система будет использовать подкачку только при крайней необходимости.
К примеру, в версии Ubuntu L inux для рабочего стола устанавливается параметр 60, а в серверных редакциях операционной системы — 1. Для того чтобы проверить, какой параметр используется в нашей ОС, вводим в терминал такую команду:
Как видите, в нашем случае «свопинг» установлен как 60. Если же вы хотите поменять swappiness, можете воспользоваться оператором, цифра в конце которого и будет новым значением:
sudo sysctl vm.swappiness=25
Как и в случае с конфигурацией файла подкачки, данный параметр изначально будет временным и обнулится при следующей перезагрузке. Для того чтобы сделать его постоянным, в самом конце файла /etc/sysctl.conf записываем значение vm.swappiness=25.
Для этого можно воспользоваться, например, текстовым редактором, запущенным с администраторскими полномочиями.
Размер swap файла в Linux
Существует сразу несколько вариантов, позволяющих увеличить файл подкачки linux или уменьшить его. Однако, прежде чем их рассмотреть, необходимо напомнить об одном очень важном моменте:
Когда вы полностью отключаете файл подкачки, ваша операционная система использует только ОЗУ и в случае ее нехватки это может привести к полной остановке работы компьютера. Система просто зависнет.
Для того чтобы этого не произошло, в тот момент, когда мы удаляем или изменяем основной файл подкачки, необходимо создать второй, временный swap. Если вы это сделали или уверены в том, что имеющейся оперативной памяти хватит, можно переходить непосредственно к процессу изменения размера файла подкачки. Для этого давайте сначала отключим его:
sudo swapoff /swapfile
Вторым этапом меняем размер файла подкачки, воспользовавшись командой, приведенной ниже. При этом размер вашего swap файла нужно указать вместо параметра 2G (2 гигабайта):
sudo fallocate -l 2G /swapfile
Теперь форматируем полученный файл в файловую систему swap:
sudo mkswap /swapfile
А затем включаем его обратно:
sudo swapon /swapfile
При этом операционная система Linux позволяет использовать сразу несколько swap.
Как удалить файл подкачки в Linux
Если по каким-то причинам файл подкачки вам не нужен, можете удалить его. Для этого сначала надо отключить swap linux:
sudo swapoff /swapfile
А потом удаляем:
sudo rm /swapfile
Не забудьте установить права на вновь созданный файл подкачки так, как мы описывали это выше.
В заключение
Надеемся теперь концепция файла подкачки в Linux ясна вам на 100%. Можете переходить к практике и проверять наличие swap на вашем компьютере или ноутбуке, его настройке, созданию или даже удалению. Если в результате у вас останутся какие-то вопросы, предложения или замечания, можете задать их нам, воспользовавшись формой комментирования ниже.
Нет похожих записей
Оцените статью:
Об авторе
14 комментариев
>> В последних версиях операционной системы Ubuntu Linux файл подкачки создается автоматически вне зависимости от того, хотите вы этого или нет. При этом его размер составляет около 1 Гб.
Конечно же это не так!
Есть приедложение: вставляй скриншоты именно тех окон, которые необходимы по ходу статьи а не ввесь скриншот твоего рабочего стола, для лучшей читабельности скриншота.
Вообще, автор несколько недоговаривает насчет свапа в GNU/Linux (вероятно, ввиду незнания). Дело в том, что свап нужен не столько для срочного получения памяти, сколько для ровного и эффективного высвобождения памяти. Использовать его в качестве «срочной памяти» в общем случае очень вредно.
И отключение swap не спасает от проблемы дискового ввода/вывода при конкуренции за память — дисковый I/O просто перемещается с анонимных страниц на файловые. Это не только может быть менее эффективным, поскольку остаётся меньший пул страниц, доступных для высвобождения, но и само по себе может способствовать появлению этой высокой конкуренции.
И включение свопа тоже не спасает от заполнения озу дисковым кэшем. На разных дистрибутивах периодически сталкиваюсь с одной и той же проблемой. ОЗУ забивается дисковым кэшем и система начинает тормозить, при том что своп есть, активен, но он не используется. Опытным путем пришел к выводу что система начинает юзать своп отталкиваясь не от параметра в графе «свободно», а от параметра в графе «доступно». Я не знаю верный ли вывод сделал, но со стороны все выглядит именно так. Имею на борту 8 гб ОЗУ. Во время работы системы постепенно дисковый кэш начинает увеличиваться в размере и занимает около 6гб, при этом под реальные нужды используется всего 1,5гб, в графе «свободно» указано около 500мб, в графе доступно около 6,5гб. Стоит только запустить какую-нибудь задачу, которая потребляет озу хотя бы 1,5 -3 гб (игра), как система идёт в штопор, количество свободной памяти уменьшается до минимума прописанного в ядре — 65мб, потом начинает высвобождаться дисковый кэш, но он его просто дропает, а не пишет в своп. Причем дропает примерно до размера чтобы в графе «свободно» было 150-180мб. И после этого система начинает балансировать на этих 180 мб. Всё, естественно, становится дерганным и лагучим. Своп по прежнему не используется. Опытным путем выяснено что своп начинает использоваться тогда, когда в графе «доступно» появляется значение сопоставимое с выставленным параметром swappiness. Мне интересно, так задумано или это баг?
Приходилось устанавливать минимальное количество свободной озу на 500мб вместо 65. Подбирать swappiness в соответствии с нуждами. Но сам по себе своппинг, тоже по сути зло. В момент доступа к диску все равно наблюдались микрофризы, хотя своп находится на ссд. Решением стала настройка и уменьшение дискового кэша. Конечно, это имеет и свою отрицательную сторону, но тут, как говорится, из двух зол выбирай меньшее.
Источник