swapfile
Как увеличить swapfile
-
Узнай название своего swap раздела, если он есть:
Bashsudo swapon --show
-
Отключи его:
Bashsudo swapoff /dev/nvme0n1p3
-
Удали/закомментируй запись о нем в
/etc/fstab
:
Bashsudo hx /etc/fstab
Загляни сюда обязательно
[[#После изменения swapfile ядро долго грузится]]
-
Через
fdisk
илиgparted
(GUI) удали этот раздел и (после удаления) присоедини неразмеченное пространство (unallocated space) к основному разделу. -
Создай новый swapfile:
Bash# swapfile sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile
-
Включи его:
Bashsudo swapon /swapfile
-
Добавь запись о нем в
/etc/fstab
:
Bashecho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
-
Проверь, что он включен:
Bashsudo swapon --show # ну, и: free -h
-
Перезагружайся и убедись, что всё работает (командами выше; + тот же
htop
показывает swapfile usage).
После изменения swapfile ядро долго грузится
Может понадобиться закомментировать старую запись о swapfile в /etc/initramfs-tools/conf.d/resume
, ибо при загрузке kernel будет обращаться к swapfile из этого файла и ждать ответа (это нужно для гибернации - swapfile тоже используется для нее). В итоге, kernel не дождется ответа, увеличивая при этом время загрузки ядра (с 2 секунд может увеличиться до 20-30...), и потом, перестав ждать, запишет в /var/log/boot.log
такую запись:
Gave up waiting for suspend/resume device
Поэтому отредактируй /etc/initramfs-tools/conf.d/resume
:
# RESUME=UUID=93421634-0358-45e5-9390-d4b7c7e2572d
И если тебе нужна гибернация, добавь запись о новом swapfile. Для этого нужно узнать UUID твоего swapfile:
sudo findmnt -no UUID -T /swapfile
Потом этот UUID используй в новой записи:
RESUME=UUID=a26b721f-21af-4695-aa09-a5c0f2e02c08
# можешь воспользоваться этой командой:
echo "RESUME=UUID=$(sudo findmnt -no UUID -T /swapfile)"
В итоге /etc/initramfs-tools/conf.d/resume
будет выглядеть примерно так:
# RESUME=UUID=93421634-0358-45e5-9390-d4b7c7e2572d
RESUME=UUID=a26b721f-21af-4695-aa09-a5c0f2e02c08
И обнови initramfs
для всех установленных версий ядра (-k all
):
sudo update-initramfs -u -k all
Перезагружайся и увидишь здоровое поведение системы.