定時任務清理buff/cache內存佔用

Linux雲服務器用一段時間就會出現buff/cache內存佔用過多的情況,導致free空閒內存變得非常少,嚴重影響使用;

這個時候就可以用如下命令去清除一下cache內存 

  1. echo 1 > /proc/sys/vm/drop_caches
  2. echo 2 > /proc/sys/vm/drop_caches
  3. echo 3 > /proc/sys/vm/drop_caches

效果顯著

每一次都自己敲一遍着實麻煩,不如設置一個定時清理的腳本

首先切換到root賬戶

su root

找一個目錄,然後創建腳本文件

touch cleanCache.sh

用vi編輯

vi cleanCache.sh

添加如下內容

  1. #!/bin/bash
  2. #每天0點清除一次緩存
  3. echo "開始清理緩存"
  4. sync;sync;sync #寫入硬盤,防止數據丟失
  5. sleep 10 #延遲10秒
  6. echo 1 > /proc/sys/vm/drop_caches
  7. echo 2 > /proc/sys/vm/drop_caches
  8. echo 3 > /proc/sys/vm/drop_caches
  9. echo "清理結束"

通過如下命令測試腳本是否正常運行

  1. chmod 777 cleanCache.sh
  2. ./cleanCache.sh

下面開始設置自動定期清理

輸入如下命令,打開配置文件

crontab -e

在末尾添加如下內容:(每天0點的時候執行一次,可以按需更改)

* 0 * * * ./路徑/cleanCache.sh

然後輸入如下指令可以查看是否成功

crontab -l

到此就大功告成了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章