Add a swap file to the system if system memory is less than 2GB and only if no swap file exists
This commit is contained in:
parent
65add24e2a
commit
8e31bed47d
|
@ -4,6 +4,52 @@ source setup/functions.sh # load our functions
|
||||||
# Basic System Configuration
|
# Basic System Configuration
|
||||||
# -------------------------
|
# -------------------------
|
||||||
|
|
||||||
|
# ### Add swap space to the system
|
||||||
|
|
||||||
|
# If the physical memory of the system is below 2GB it is wise to create a
|
||||||
|
# swap file. This will make the system more resiliant to memory spikes and
|
||||||
|
# prevent for instance spam filtering from crashing
|
||||||
|
|
||||||
|
# We will create a 1G file, this should be a good balance between disk usage
|
||||||
|
# and buffers for the system
|
||||||
|
|
||||||
|
# See https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
|
||||||
|
# for reference
|
||||||
|
|
||||||
|
SWAP_MOUNTED=$(grep "swap" /proc/mounts)
|
||||||
|
TOTAL_PHYSICAL_MEM=$(head -n 1 /proc/meminfo | awk '{print $2}')
|
||||||
|
if [ $TOTAL_PHYSICAL_MEM -lt 19000000 ]; then
|
||||||
|
if [ -z "$SWAP_MOUNTED" ]; then
|
||||||
|
if [ ! -e /swapfile ]; then
|
||||||
|
echo "Adding swap to the system..."
|
||||||
|
|
||||||
|
# Allocate and active the swap file
|
||||||
|
fallocate -l 1G /swapfile
|
||||||
|
chmod 600 /swapfile
|
||||||
|
hide_output mkswap /swapfile
|
||||||
|
swapon /swapfile
|
||||||
|
|
||||||
|
# Make sure swap is activated on boot
|
||||||
|
echo "/swapfile none swap sw 0 0" >> /etc/fstab
|
||||||
|
|
||||||
|
# Make sure the system only swaps as a last resort
|
||||||
|
SWAPPINESS=$(grep vm.swappiness /etc/sysctl.conf)
|
||||||
|
if [ -z "$SWAPPINESS" ]; then
|
||||||
|
hide_output sysctl vm.swappiness=10
|
||||||
|
echo "vm.swappiness=10" >> /etc/sysctl.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure the systeem keeps the file system inodes in
|
||||||
|
# memory as long as possible
|
||||||
|
PRESSURE=$(grep vm.vfs_cache_pressure /etc/sysctl.conf)
|
||||||
|
if [ -z "$PRESSURE" ]; then
|
||||||
|
hide_output sysctl vm.vfs_cache_pressure=50
|
||||||
|
echo "vm.vfs_cache_pressure=50" >> /etc/sysctl.conf
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# ### Add Mail-in-a-Box's PPA.
|
# ### Add Mail-in-a-Box's PPA.
|
||||||
|
|
||||||
# We've built several .deb packages on our own that we want to include.
|
# We've built several .deb packages on our own that we want to include.
|
||||||
|
|
Loading…
Reference in New Issue