Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- clear
- echo ""
- echo ""
- echo ""
- echo "Checking if Swap is in use..."
- echo "If Swap is in use, i will clear up RAM_Cache,"
- echo "and free up Swap space..."
- echo ""
- echo ""
- free_data="$(free)"
- mem_data="$(echo "$free_data" | grep 'Mem:')"
- free_mem="$(echo "$mem_data" | awk '{print $4}')"
- buffers="$(echo "$mem_data" | awk '{print $6}')"
- cache="$(echo "$mem_data" | awk '{print $7}')"
- total_free=$((free_mem + buffers + cache))
- used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"
- echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
- if [[ $used_swap -eq 0 ]]; then
- echo ""
- echo ""
- echo "No swap is in use. :)"
- echo "Nothing to do, exiting..."
- elif [[ $used_swap -lt $total_free ]]; then
- printf '\n%s\n' 'Freeing PageCache, dentries and inodes, Ram-cache and Swap'
- sync; echo 3 > /proc/sys/vm/drop_caches
- swapoff -a
- swapon -a
- echo "everything is cleared..."
- else
- echo "Not enough free memory. Exiting."
- exit 1
- fi
Add Comment
Please, Sign In to add comment