yokmp

SWAP cleanup

Jun 21st, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.01 KB | None | 0 0
  1. #!/bin/bash
  2. clear
  3. echo ""
  4. echo ""
  5. echo ""
  6. echo "Checking if Swap is in use..."
  7. echo "If Swap is in use, i will clear up RAM_Cache,"
  8. echo "and free up Swap space..."
  9. echo ""
  10. echo ""
  11. free_data="$(free)"
  12. mem_data="$(echo "$free_data" | grep 'Mem:')"
  13. free_mem="$(echo "$mem_data" | awk '{print $4}')"
  14. buffers="$(echo "$mem_data" | awk '{print $6}')"
  15. cache="$(echo "$mem_data" | awk '{print $7}')"
  16. total_free=$((free_mem + buffers + cache))
  17. used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"
  18. echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
  19. if [[ $used_swap -eq 0 ]]; then
  20. echo ""
  21. echo ""
  22. echo "No swap is in use.  :)"
  23. echo "Nothing to do, exiting..."
  24. elif [[ $used_swap -lt $total_free ]]; then
  25. printf '\n%s\n' 'Freeing PageCache, dentries and inodes, Ram-cache and Swap'
  26. sync; echo 3 > /proc/sys/vm/drop_caches
  27. swapoff -a
  28. swapon -a
  29. echo "everything is cleared..."
  30. else
  31. echo "Not enough free memory. Exiting."
  32. exit 1
  33. fi
Add Comment
Please, Sign In to add comment