總所周知,linux系統(tǒng)下的內(nèi)存一直都不夠用,特別是對(duì)于一些WEB網(wǎng)站而言,特別是針對(duì)一些小型服務(wù)器,內(nèi)存一下子就占滿了
通過我們用free -h 查詢內(nèi)存的占用大小時(shí),總會(huì)發(fā)現(xiàn)buff/cache暫用過大
解決的方法一般可以直接清理 或者定時(shí)清理
1:直接清理
# 這個(gè)drop_caches文件可以設(shè)置的值分別為1、2、3\
echo 1 > /proc/sys/vm/drop_caches # 表示清除pagecache\
echo 2 > /proc/sys/vm/drop_caches # 表示清除回收slab分配器中的對(duì)象(包括目錄項(xiàng)緩存和inode緩存)。slab分配器是內(nèi)核中管理內(nèi)存的一種機(jī)制,其中很多緩存數(shù)據(jù)實(shí)現(xiàn)都是用的pagecache。
echo 3 > /proc/sys/vm/drop_caches # 表示清除pagecache和slab分配器中的緩存對(duì)象。
選擇其中一個(gè)清理就行了,例如
echo 1 > /proc/sys/vm/drop_caches
2:定時(shí)清理
2.1? 創(chuàng)建定時(shí)任務(wù)腳本
????????找一個(gè)合適的位置,例如:/home/bin/sh/目錄下
? ? ? ? 新增cleanBuffer.sh?:
vim cleanBuffer.sh
? ? ? ? 寫入以下內(nèi)容:
#!/bin/bash
#每兩小時(shí)清除一次內(nèi)存buff/cache緩存
echo "開始清除緩存"
sync;sync;sync #寫入硬盤,防止數(shù)據(jù)丟失
sleep 10 #延遲10秒
echo 3 > /proc/sys/vm/drop_caches
2.2 腳本文件授權(quán)
chmod +x cleanBuffer.sh
2.3 配置crontab 定時(shí)任務(wù)
2.3.1 編輯crontab
crontab -e
2.3.2 插入以下定時(shí)任務(wù)腳本
0 2 * * * /home/bin/sh/cleanBuffer.sh > /dev/null 2>&1 &
這里配置的是每天凌晨2點(diǎn)清理一次
注意:這里?/home/bin/sh/cleanBuffer.sh 文件是我們剛剛建立的清理文件
? ? ? ? 另外,這里的表達(dá)式長度是5位,不是6位,注意了,不然會(huì)報(bào)錯(cuò)的
2.3.3 保存
crontab保存方式一般分為兩種,
第一種:如果你的系統(tǒng)crontab -e 底部出現(xiàn)類似于BIOS的命令
Ctrl + O # 寫入
Ctrl + X # 退出
這種,你需要在寫入文件后,按住Ctrl + O? 寫入,然后再按住Ctrl + X推出
第二種:就是普通的文本編輯,底部啥都沒有,直接wq保存
2.3.4 查看
crontab -l
如下,出現(xiàn)剛剛我們寫入的腳本,就說明寫入成功了?
2.3.5 crontab重啟、開機(jī)啟動(dòng)
?按住自己情況來操作文章來源:http://www.zghlxwxcb.cn/news/detail-700061.html
systemctl start crond.service # 開啟
systemctl restart crond.service # 重啟
systemctl enable crond.service # 設(shè)置開機(jī)啟動(dòng)
systemctl status crond.service # 查看運(yùn)行狀態(tài)
注意:對(duì)于ubuntu服務(wù)器系統(tǒng),這里會(huì)顯示crond.service 不存在,需要修改為cron.service,沒有“d”文章來源地址http://www.zghlxwxcb.cn/news/detail-700061.html
到了這里,關(guān)于Linux 定時(shí)清理buff/cache的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!