天天看點

CentOS,清理緩存(drop_caches)

讀寫檔案時,Linux核心為了提高讀寫效率與速度,會将檔案在記憶體中進行緩存,這就是Cache Memory(緩存記憶體)。

即使程式運作結束後,Cache Memory也不會自動釋放。這就會導緻程式頻繁讀寫檔案後,可用實體記憶體會很少。

其實這緩存記憶體(Cache Memory)在你需要使用記憶體的時候會自動釋放,是以不必擔心沒有記憶體可用。

如果你希望手動去釋放Cache Memory(緩存記憶體)的話也是有辦法的。

cat /proc/sys/vm/drop_caches

0 //預設是0;1-清空頁緩存;2-清空inode和目錄樹緩存;3-清空所有緩存

大多數GNU Linux都是預設開啟了緩存機制的,檢視配置檔案 cat /proc/sys/vm/drop_caches 若為0的話,則表示開啟了緩存機制的,這種機制在一直運作某個服務的時候非常有效,便于服務本身的快速讀取,而作為桌面使用者來說,打開的程式并不那麼單一,是以桌面使用者還是建議設定此配置檔案為1,及時對系統緩存進行清理,釋放空間以供其它程式使用。

[root@bak ~]# sync //注意:在清空緩存之前使用sync指令同步資料到磁盤

[root@bak ~]# free -m

             total       used       free     shared    buffers     cached

Mem:         15898       3029      12869          0        191       1064

-/+ buffers/cache:       1772      14125

Swap:        31999          0      31999

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

[root@bak ~]# free -m //發現緩存明顯減少了

Mem:         15898       1770      14128          0          1         30

-/+ buffers/cache:       1738      14160

清理緩存腳本:

#!bin/bash

sync

echo 3 > /proc/sys/vm/drop_caches

     本文轉自yzy121403725 51CTO部落格,原文連結:http://blog.51cto.com/lookingdream/1859445,如需轉載請自行聯系原作者

繼續閱讀