memory.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://blog.linuxeye.com
  4. #
  5. # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
  6. #
  7. # Project home page:
  8. # http://oneinstack.com
  9. # https://github.com/lj2007331/oneinstack
  10. Mem=`free -m | awk '/Mem:/{print $2}'`
  11. Swap=`free -m | awk '/Swap:/{print $2}'`
  12. if [ $Mem -le 640 ];then
  13. Mem_level=512M
  14. Memory_limit=64
  15. elif [ $Mem -gt 640 -a $Mem -le 1280 ];then
  16. Mem_level=1G
  17. Memory_limit=128
  18. elif [ $Mem -gt 1280 -a $Mem -le 2500 ];then
  19. Mem_level=2G
  20. Memory_limit=192
  21. elif [ $Mem -gt 2500 -a $Mem -le 3500 ];then
  22. Mem_level=3G
  23. Memory_limit=256
  24. elif [ $Mem -gt 3500 -a $Mem -le 4500 ];then
  25. Mem_level=4G
  26. Memory_limit=320
  27. elif [ $Mem -gt 4500 -a $Mem -le 8000 ];then
  28. Mem_level=6G
  29. Memory_limit=384
  30. elif [ $Mem -gt 8000 ];then
  31. Mem_level=8G
  32. Memory_limit=448
  33. fi
  34. # add swapfile
  35. if [ "$Swap" == '0' ] ;then
  36. if [ $Mem -le 1024 ];then
  37. dd if=/dev/zero of=/swapfile count=1024 bs=1M
  38. elif [ $Mem -gt 1024 -a $Mem -le 2048 ];then
  39. dd if=/dev/zero of=/swapfile count=2048 bs=1M
  40. fi
  41. mkswap /swapfile
  42. swapon /swapfile
  43. chmod 600 /swapfile
  44. cat >> /etc/fstab << EOF
  45. /swapfile swap swap defaults 0 0
  46. EOF
  47. fi