linux-setup/create_swap.sh
2022-05-14 13:34:42 +00:00

34 lines
733 B
Bash

#!/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