swapon: read swap header failed: invalid argument
Понадобилось срочно увеличить файл подкачки на сервере. Но при попытке включения получил ошибку
# swapon /home/swap.swap swapon: /home/swap.swap: swapon failed: Недопустимый аргумент
Алгоритм создания был такой:
# touch /home/swap.swap # fallocate -l 4G /home/swap.swap # chmod 600 /home/swap.swap # mkswap /home/swap.swap Setting up swapspace version 1, size = 4194300 KiB без метки, UUID=f426e847-8fc3-4d3f-9ca8-b3d62a1d81c7 # swapon /home/swap.swap swapon: /home/swap.swap: swapon failed: Недопустимый аргумент
Решил проблему с помощью dd:
# touch /home/swap.swap # dd if=/dev/zero of=/home/swap.swap count=4096 bs=1MiB # chmod 600 /home/swap.swap # mkswap /home/swap.swap # swapon /home/swap.swap
И прописал в fstab:
# vi /etc/fstab
эту строку:
/home/swap.swap swap swap sw 0 0
Проверить размер можно:
# swapon --summary Filename Type Size Used Priority /dev/dm-1 partition 2097148 1610552 -2 /home/swap.swap file 4194300 0 -3 # free -h total used free shared buff/cache available Mem: 3,7G 2,2G 117M 6,1M 1,4G 1,3G Swap: 6,0G 1,5G 4,5G
Смотрим
# cat /proc/sys/vm/swappiness 60
Уменьшим это значение выполнив команду:
# sysctl vm.swappiness=10
И пропишем ее, что бы сохранилась после перезагрузки:
# vi /etc/sysctl.conf
добавить эту строку
vm.swappiness = 10 vm.vfs_cache_pressure = 50