- Best way to disable swap in Linux
- 7 Answers 7
- Как в Linux Mint и Ubuntu увеличить и раздел подкачки. Как в Linux создать файл подкачки Swap
- Как в Linux Mint и Ubuntu удалить файл подкачки
- Ошибка «fallocate: fallocate failed: Текстовый файл занят»
- Управление файлами подкачки в других Linux
- Как создать раздел подкачки на другом диске
- Как проверить использование файла подкачки в Linux
- Связанные статьи:
- Рекомендуемые статьи:
- 15 Комментарии
Best way to disable swap in Linux
I am running a custom compiled 3.18.9 kernel and I am wondering about the best way to disable swap on the system. I also use init if it makes a difference. Is it enough to comment or remove the swap line in /etc/fstab to prevent swap from working/mounting at boot or should I recompile the kernel without Support for paging of anonymous memory (swap) to be 100% sure it does not get enabled? I run encrypted partitions and want to prevent accidental leakage to the hard disk. My system specifications are also great enough that I can survive in a swap-less environment.
@MichaelHampton I didn’t see a need at the point in time until I realized what was eventually going to happen. Plus my system doesn’t reach a point in any time that the swap was used, so I feel I am free to remove it.
I’d remove the feature from the kernel then. Otherwise someone can plug an USB-stick and start swapping to it again.
@ott Doesn’t the user require super user access to use the swapon/swapoff executable? I might disable it again just in case, but I am uncertain a unprivileged user can create swap files.
@ott— this is for a laptop so I will be in control of it 24/7. If someone has gotten physical access to it or managed to exploit it to gain access to my unprivileged users there would be worse problems than worrying about a swap file being created. Thanks for the clarification though!
7 Answers 7
- Identify configured swap devices and files with cat /proc/swaps .
- Turn off all swap devices and files with swapoff -a .
- Remove any matching reference found in /etc/fstab .
- Optional: Destroy any swap devices or files found in step 1 to prevent their reuse. Due to your concerns about leaking sensitive information, you may wish to consider performing some sort of secure wipe.
On some systems you must also rebuild the initrd archive, e.g. with dracut —regenerate-all —force or mkinitrd , or the system will not boot. Thanks to J.O. Aho and Carlos E.R. on alt.os.linux.suse .
This doesn’t solve it for me, the system boots every time with swap enabled, even though there’s no fstab entry for it. It’s incredibly annoying.
It used to be that only swap partitions in /etc/fstab were used automatically, however, systemd may be changing that slightly. You might need to do:
systemctl mask dev-sdXX.swap
(change sdXX) to your real formatted swap partition, which, begs the question of why you have a swap partition if you don’t want it used.
If you are not using systemd, then, removing the swap entries from /etc/fstab should be sufficient (as far as I know).
Maybe the real solution is to get rid of the swap partitions, so they won’t be used accidentally. To remove the swap partitions, I would use fdisk to change the partition type from swap to something else, and then reformat the partition or use: dd if=/dev/zero of=/dev/old-swap-partition in order to zero it out and prevent its use.
Как в Linux Mint и Ubuntu увеличить и раздел подкачки. Как в Linux создать файл подкачки Swap
В этой статье на примере Linux Mint и Ubuntu мы научимся смотреть информацию по разделе подкачки, создавать файл подкачки, а также увеличивать доступное для подкачки место.
Файл подкачки — это определённое место на постоянном хранилище (например, на жёстком диске), куда на время сбрасываются данные, которые не умещаются в оперативную память. То есть это возможность увеличить количество оперативной памяти без покупки модулей ОЗУ. Правда, такая «виртуальная» оперативная память работает медленнее.
Посмотреть текущий размер раздела подкачки можно командой:
Как можно увидеть, в системе присутствует файл подкачки размером 2 Гигабайта, что, предположим, недостаточно.
Отключаем и удаляем этот файл подкачки следующими командами:
sudo swapoff -a sudo rm -f /swapfile
На диске должно быть достаточно места, чтобы туда поместился файл подкачки того размера, который вы задали.
Для создания файла подкачки размером 8G (измените значение по вашему желанию) выполните команду:
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
Откройте системный монитор, чтобы убедиться, что система видит файл подкачки:
Либо это можно сделать командой:
Вот и всё! Вам даже не нужно перезагружать систему, чтобы изменения вступили в силу.
Кстати, если вы вновь заходите изменить размер файла подкачки (в сторону увеличения или в сторону уменьшения — не важно), то в точности следуйте этой же инструкции ещё раз, но при создании файла подкачки укажите другой размер.
Как в Linux Mint и Ubuntu удалить файл подкачки
Для полного удаления файла подкачки выполните команды:
sudo swapoff -a sudo rm -f /swapfile
Затем откройте файл /etc/fstab:
/swapfile none swap defaults 0 0
Ошибка «fallocate: fallocate failed: Текстовый файл занят»
Если вы столкнулись с ошибкой:
fallocate: fallocate failed: Текстовый файл занят
Это означает, что вы хотите создать файл подкачки, но файл с таким именем уже существует и всё ещё используется. На английском ошибка выглядит так: fallocate: fallocate failed: Text file busy.
Для его отключения и удаления выполните команды:
sudo swapoff -a sudo rm -f /swapfile
Управление файлами подкачки в других Linux
Для увеличения или создания файла подкачки в других дистрибутивах смотрите статьи:
Как создать раздел подкачки на другом диске
Вам необязательно использовать для свопа именно системный диск, на котором может быть мало место. Вы можете создать раздел на любом диске в системе. Подробности смотрите в инструкции «Как создать раздел подкачки не на системном диске. Как переместить раздел подкачки на другой диск».
Как проверить использование файла подкачки в Linux
Стресс-тестирование системы в сценарии исчерпания всей оперативной памяти: Как проверить использование файла подкачки в Linux
Связанные статьи:
Рекомендуемые статьи:
15 Комментарии
Алексей, хотел выразить огромную благодарность за Ваш труд. Мне, как продвинутому новичку в мире Linux и всего, что с ним связано, это очень помогает. Так держать! Спасибо большое!
При запуске GIMP появляются такие сообщения;»Невозможно открыть тестовый файл подкачки.Чтобы избежать потери данных, проверьте в настройках расположение файла подкачки и права на него. (сейчас «/home/val/.gimp-2.8″). Невозможно открыть файл подкачки. GIMP использовал всю доступную оперативную память и не может использовать файл подкачки. Некоторые части ваших изображений могут оказаться поврежденными. Сохраните файлы под другими именами, перезапустите GIMP и проверьте путь к файлу подкачки в параметрах программы.»
Куда копать, что изменить, ОС LM 19,2 x64
- Закончилась оперативная память во время работы GIMP и, видимо, системный файл подкачки тоже закончился, если он есть
- Закончилось место на диске, либо неправильно выставлены права на файлы подкачки самой программы GIMP, которые она хранит на диске.
Если вы много работаете с большими изображениями, то самый лучший вариант — это установить в компьютер больше оперативной памяти.
Если такой возможности нет, то увеличьте размер файла подкачки, как показано в инструкции на этой странице.
Если на диске действительно закончилось место, то:
б) укажите другую папку подкачки GIMP, для этого в меню GIMP перейдите в Правка → Параметры → Каталоги. Там установите значения для «Папка для временных файлов» и «Папка для подкачки»:
Если даже это невозможно, то в разделе «Системные ресурсы», уменьшите значения для «Максимальная память для отмены», «Размер кэша», а для «Сжатие файла подкачки» выберите «Лучшее сжатие»:
На одном из скриншотов видно, что не удаётся создать файл gimprc, поскольку отказано в доступе. Проверьте, существует ли папка ~/.gimp-2.8/ и какие у неё права доступа:
Правильно ли я понимаю, что ваша домашняя папка это /home/val, а имя пользователя val? То есть всё дело в правах доступа на папку ~/.gimp-2.8/ — или у вас нет прав на эту папку, либо нет самой этой папки или что-то похожее. Можно попробовать указать в качестве временного каталога и каталога подкачки какую-нибудь папку, на которую у вас точно есть права доступа.
Папка существует, права есть… Нет времени разбираться с проблемой (срочно нужно обработать десяток фотографий), сейчас переустановлю систему, быстрей получится. Спасибо за участие! С наступащим НГ, успехов, благополучия!
Такой вопрос. По инструкций делал все было норм, но после перезагрузки вернулись исходные значения. Это говорит о том, что я где то не так сделал или же всегда после перезагрузки нужно обновлять размер памяти выделяемой?
После перезагрузки изменения должны сохраняться. Обратите внимание, что информация о файле подкачки хранится в файле /etc/fstab, но в данной инструкции мы НЕ редактируем этот файл (не добавляем информацию о файле подкачки) по той причине, что в Linux Mint и Ubuntu эта запись уже есть. Данная инструкция, кстати, называется «Как в Linux Mint и Ubuntu увеличить и раздел подкачки» и предназначена для этих двух дистрибутивов. Возможно, у вас другой дистрибутив и просто нужно добавить запись в файл /etc/fstab чтобы автоматически использовался файл подкачки. О том, как это сделать, можете посмотреть в статье «Как в Kali Linux создать или увеличить файл подкачки (Swap)».
На вашем скрине и у меня на практике после данных действий файл подкачки не задействуется. там так и видно, что кол-во задействованного места — 0. В чем причина и как её решить?
Приветствую! Файл подкачки будет задействован когда закончится физическая память. На моём скрине видно, что задействовано только 14 процентов физической памяти. По этой причине файл подкачки в момент снятия скрина просто не нужен. У вас точно израсходована физическая память? Установите stress-ng и запустите что-нибудь такое:
stress-ng --vm-bytes $(awk '/MemAvailable/' < /proc/meminfo)k --vm-keep -m 1
И понаблюдайте за расходом памяти — увидите, как начнёт использоваться файл подкачки.
yuriy@Aspire-5742G:~$ sudo chmod 600 /swapfile
yuriy@Aspire-5742G:~$ mkswap /swapfile
mkswap: невозможно открыть /swapfile: Отказано в доступе Здравсвуйте!! А что делать дальше?