站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Drop Cahce-手動清空記憶體 Buffer 及 Cache

前言

在使用 RHEL/CentOS 時會因為它的 Memory Buffer/Cache 機制 (為了盡量減少 Disk I/O),常常會讓我覺得好像發生了 [Memory Leak] 的感覺,如果您覺得有這種錯覺而且真的想要手動清空目前佔用的 Memory Buffer/Cache,那麼就繼續接著看下去吧。

實作環境

安裝及設定

安裝 CentOS 5.6 的伺服器實體記憶體有 16GB,不過當您使用 top or free -m 指令查看 Memory 的使用量時,會發現怎麼 Memory 感覺所剩無幾 (Memory Buffer/Cache 機制!!),所以您可以使用 Drop Cache 機制來手動釋放了,預設數值為 0 您可以送入 1、2、3 進去給 /proc/sys/vm/drop_caches,並且在執行前強烈建議先執行 sync 是比較保險的作法,至於數值 1 ~ 3 所代表的意義及說明如下: 詳細說明請參考 [Performance Tuning Guide - 5.4 Tuning Virtual Memory]

因為是上線中的機器,所以我只執行釋放所有 Page Cache Memory 而以,可以很明顯的看到釋放前 Free Memory 為 3743 MB 而釋放後為 13935 MB

 #free -m
              total       used       free     shared    buffers     cached
 Mem:         15993      12249       3743          0       1384       7888
 -/+ buffers/cache:       2976      13016
 Swap:         8236          0       8236
 #sync;sync;sync
 #echo 1 > /proc/sys/vm/drop_caches
 #echo 0 > /proc/sys/vm/drop_caches
 #free -m
              total       used       free     shared    buffers     cached
 Mem:         15993       2057      13935          0          0         47
 -/+ buffers/cache:       2009      13984
 Swap:         8236          0       8236

參考

[Performance Tuning Guide - 5.4 Tuning Virtual Memory]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com