[系統管理]釋放掉Linux記憶體(Cache)

在此都以Cent OS 5.3為例,

有些人可能會利用free指令發現,

記憶體怎麼一直被吃掉…

但用top指令也查不出是哪個程式

這時候在free指令的時候仔細看

絕大部分都是被放到Cache跟Buffer去了,

Cache的作用是讓常用的文件暫存在記憶體裡面,減少IO次數提升效率

而Buffer則是減緩文件正式寫入硬碟的時間,

在Web Server上會很明顯的一點就是Cache大量消耗,

這有助於提升整體Web Server的效率沒錯,

所以在RAM Size還允許的情況下,不太建議清除記憶體

但若有程式不能完全釋放記憶體的情況下,

仍想清除Cache的時候該如何呢

可以用以下指令

echo 1 > /proc/sys/vm/drop_caches

建議用1即可,用2可以從dentries、inodes中壓出更多的空間.

echo 2 > /proc/sys/vm/drop_caches

但3就不建議了,容易造成系統錯誤.

記得釋放完,要再下

echo 0 > /proc/sys/vm/drop_caches

指令.來回復預設狀況喔!~

國立臺灣科技大學資管所畢,曾任微軟最有價值專家達6年,現職為工業技術研究院資通所工程師,專長為PHP,ASP.NET,Objective C(iOS)程式設計,手機遊戲設計,資料庫規劃與管理,產品行銷與線上社群,對於IT技術始終抱持著熱忱的赤子之心

Tagged with:
Posted in 系統管理
3 comments on “[系統管理]釋放掉Linux記憶體(Cache)
  1. credit expert 說道:

    Wow! what an idea! What a concept! Beautiful .. Wonderful …

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*

你可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>