linux清理緩存cache


Linux服務器有自己先進的內存管理機制,有時候會發現我們系統的buff/cache內存占用會越來越高,操作系統也有卡頓的情況,遇到這種情況,不妨試試下面的方法。

步驟一:我們先使用free -m查看內存占用情況,可以看到內存中大部分內存被buff/cache占用,free內存已經剩余400多M了。

 

對上面內存參數進行說明,內存也可以使用top命令查看

total——總物理內存

used——已使用內存

free——完全未被使用的內存

shared——應用程序共享內存

buffers——緩存,主要用於目錄方面,inode值等(ls大目錄可看到這個值增加)

cached——緩存,用於已打開的文件

 -buffers/cache=used-buffers-cached

 +buffers/cache=free+buffers+cached

步驟二:釋放之前執行sync命令同步數據導硬盤中。

 

 linux的緩存機制是這樣的,當第一次讀取一個文件時,一份放到內存cache中,另外一份放到運行程序的內存中,當下次再使用的時候,直接從cache中讀取數據,速度就會快很多,但是有頻繁的讀寫,而drop_cache默認是不釋放的,就導致cache占用越來越多,物理內存會逐漸被吃了,當然此設置也是可以修改的,我們下面看怎么臨時釋放cache內存。

  

步驟三:執行如下命令釋放所有緩存

[root@localhost ~]# echo 3 > /proc/sys/vm/drop_caches

drop_caches的值可以是0-3之間的數字,代表不同的含義
0:不釋放(系統默認值)
1:釋放頁緩存
2:釋放dentries和inodes
3:釋放所有緩存

 

 命令執行后,可以看到,緩存釋放,free內存已經上升,系統也流暢了很多。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM