這幾天發(fā)現(xiàn)CentOS系統(tǒng)內存一直漲,即使把apache和mysql關閉了,內存也不釋放,可以使用以下腳本來釋放內存:
腳本內容:
復制代碼 代碼如下:
#! /bin/bash
# cache釋放:
# To free pagecache:
sync
sync
#echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches
利用系統(tǒng)crontab實現(xiàn)每天自動運行:
復制代碼 代碼如下:
crontab -e
輸入以下內容:
復制代碼 代碼如下:
00 00 * * * /root/Cached.sh
每天0點釋放一次內存,這個時間可以根據自己需要修改設置
在運行./Cached.sh時如果提示錯誤:Permission denied 權限的問題,可以運行:
復制代碼 代碼如下:
chmod +x .Cached.sh
此外還可以通過修改/etc/sysctl.conf的方法來達到自動釋放緩存的目的。但是內存不夠用,最好還是去找找其他的原因,比如程序設置是否合理,是否突發(fā)訪問量很大,或者程序設計不合理導致內存溢出等,畢竟操作系統(tǒng)本身設計會考慮各方面的問題,強制騰出cache的大小,可能只是把問題給暫時屏蔽了,不利于判斷問題的所在。