linux指定定時腳本清理緩存車看內存使用情況


定時腳本添加執行任務可參考原文:http://blog.csdn.net/liqi_q/article/details/78044373

Linux命令之sync - 強制將內存中的文件緩沖內容寫到磁盤
Linux內核為了達到最佳的磁盤操作效率,會把需要寫入到磁盤的數據現在內存中緩存起來,在合適的時候才真正寫入到磁盤中,這在絕大多數情況都是沒有任何問題的,而且提高了系統的效率,但是如果系統當機、掉電,就會有些文件內容不會保存下來。在Linux系統關機或者重啟時,會自動把緩沖區的內容自動同步到磁盤中。我們也可以手工去執行sync命令,強制將內存中的文件緩沖內容寫到磁盤,這個命令是通過調用sync系統調用來實現的。
常用方式
格式:sync
強制將內存中的文件緩沖內容寫到磁盤。

在Linux系統下,我們一般不需要去釋放內存,因為系統已經將內存管理的很好。但是凡事也有例外,有的時候內存會被緩存占用掉,導致系統使用SWAP空間影響性能,此時就需要執行釋放內存(清理緩存)的操作了。

Linux系統的緩存機制是相當先進的,他會針對dentry(用於VFS,加速文件路徑名到inode的轉換)、Buffer Cache(針對磁盤塊的讀寫)和Page Cache(針對文件inode的讀寫)進行緩存操作。但是在進行了大量文件操作之后,緩存會把內存資源基本用光。但實際上我們文件操作已經完成,這部分緩存已經用不到了。這個時候,我們難道只能眼睜睜的看着緩存把內存空間占據掉么?

所以,我們還是有必要來手動進行Linux下釋放內存的操作,其實也就是釋放緩存的操作了。

要達到釋放緩存的目的,我們首先需要了解下關鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數,默認值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數字,代表着不同的含義:

0 – 不釋放
1 – 釋放頁緩存
2 – 釋放dentries和inodes
3 – 釋放所有緩存

1.清理前內存使用情況 
free -m

2.開始清理  
echo 1 > /proc/sys/vm/drop_caches
3.清理后內存使用情況 
free -m
4.完成!
查看內存條數命令:

dmidecode | grep -A16  " Memory Device$ "

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com