Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. function echo_mem_stat () {
  4. mem_total="$(free | grep 'Mem:' | awk '{print $2}')"
  5. free_mem="$(free | grep 'Mem:' | awk '{print $7}')"
  6. mem_percentage=$(($free_mem * 100 / $mem_total))
  7. swap_total="$(free | grep 'Swap:' | awk '{print $2}')"
  8. used_swap="$(free | grep 'Swap:' | awk '{print $3}')"
  9. swap_percentage=$(($used_swap * 100 / $swap_total))
  10.  
  11. echo -e "Free memory:\t$((free_mem / 1024))/$((mem_total / 1024)) MB\t($mem_percentage%)"
  12. echo -e "Used swap:\t$((used_swap / 1024))/$((swap_total / 1024)) MB\t($swap_percentage%)"
  13. }
  14.  
  15. echo "Testing..."
  16. echo_mem_stat
  17.  
  18. if [[ $used_swap -eq 0 ]]; then
  19. echo "No swap is in use."
  20. elif [[ $used_swap -lt $free_mem ]]; then
  21. echo "Freeing swap..."
  22.  
  23. swapoff -a
  24. swapon -a
  25.  
  26. echo_mem_stat
  27. else
  28. echo "Not enough free memory. Exiting."
  29. exit 1
  30. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement