memory.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. # https://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. Make-swapfile() {
  35. dd if=/dev/zero of=/swapfile count=$COUNT bs=1M
  36. mkswap /swapfile
  37. swapon /swapfile
  38. chmod 600 /swapfile
  39. [ -z "`grep swapfile /etc/fstab`" ] && echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
  40. }
  41. # add swapfile
  42. if [ "$Swap" == '0' ]; then
  43. if [ $Mem -le 1024 ]; then
  44. COUNT=1024
  45. Make-swapfile
  46. elif [ $Mem -gt 1024 -a $Mem -le 2048 ]; then
  47. COUNT=2048
  48. Make-swapfile
  49. fi
  50. fi