diff --git a/create_swap.sh b/create_swap.sh new file mode 100644 index 0000000..2e8c702 --- /dev/null +++ b/create_swap.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Disable current swap +sudo swapoff -a +for file in $(cat /proc/swaps | awk "NR>1" | awk '{print $1}'); do + echo "rm old swap $file" + sudo rm ${file} +done +sudo sed -i "/swap/d" /etc/fstab + +# Create new swap +size=$(free -m | grep 'Mem' | awk '{print $2}') +echo $size + +sudo dd if=/dev/zero of=/swapfile count=${size} bs=1MiB + +sudo chmod 600 /swapfile +sudo mkswap /swapfile +sudo swapon /swapfile + +echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab + +free -h + + +# Update conf +sudo sed -i '/vm.swappiness/d' /etc/sysctl.conf +echo 'vm.swappiness = 10' | sudo tee -a /etc/sysctl.conf + +sudo sed -i '/vm.vfs_cache_pressure/d' /etc/sysctl.conf +echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf + +sudo sysctl -p