顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (阿德)
標題 [Linux] 使用free觀察記憶體使用率
時間 2010年07月30日 Fri. AM 03:07:09


在Linux下輸入 free 可顯示記憶體的使用率,像這樣

# free
             total       used       free     shared    buffers     cached
Mem:       1019008     955104      63904          0     126620     313104
-/+ buffers/cache:     515380     503628
Swap:      1048568      23444    1025124

不過我發現記憶體不管加了多少,開機一陣子後就會被用到快滿
現在才知道原來Linux會自動將空著的記憶體位置儘量給buffers和cache用...
所以只看前三個數字是不準的....

以下參考這個網頁 Linux Memory Usage 記憶體使用率

             total       used       free     shared    buffers     cached
Mem:             T          U          F          0         Bf         Cf
-/+ buffers/cache:          U2         F2

T = 實體記憶體總共的大小
U = 配給 buffers 與 cache 的記憶體大小(包含未用的 buffers 與 cache)
F = 剩下的記憶體大小
Bf = 配給 buffers 但未用的記憶體大小
Cf = 配給 cache 但未用的記憶體大小
U2 = buffers 與 cache 被使用掉的記憶體大小,加上被應用程式用走的,也就是實際的使用量
F2 = 實際剩下的記憶體大小

其中 T = U + F = U2 + F2

而第二行那個 -/+ buffers/cache 的意思是說
第一個值 U2 = U - ( Bf + Cf)
第二個值 F2 = F + ( Bf + Cf)

buffer 與 cache 的區別:
buffer 是準備要寫入硬碟的資料
cache 是從硬碟讀出來的資料,存著以備之後會用到

參考: http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?topic_id=6132

    一般情況下,Linux kernel 會盡可能多地利用 RAM 的空閑空間作為 cache/buffer
以最大幅度地提高系統性能。當系統中運行的應用程序占用的 RAM 增加時,則將 cache/buffer
所占用的空間釋放出來,讓渡給應用程序使用。

參考: http://wiki.gentoo.tw/mediawiki/index.php/FAQ_LINUXMEMORY

記憶體管理的概觀

    當系統開機一段時間後,像是「top」這種傳統的 Unix 工具常常回報少的可憐的可
用記憶體數值,在我寫這篇文章的系統中,就算我總共有 512 MB 的記憶體在我的系統裡,
但約開機後三個小時,我只剩下 60 MB 的可用記憶體,那些記憶體到底跑到那裡去了?

    用掉最多記憶體的地方是磁碟快取 (disk cache),目前它總共用了超過 290 MB 的
記憶 (在 top 裡的「cached」項目中),快取記憶體 (cached memory) 基本上是空閒的,
當有新/執行中的程式需要記憶體的話,它會快速的被取回來。

    為什麼 Linux 使用這麼多的記憶體來當作磁碟快取 (disk cache) 呢?主要的原因便
是:假如 RAM 沒有被使用的話,它便是閒放在那邊浪費著不用。如果把資料放在用 RAM 組
成的磁碟上,它的存取速度比直接從硬碟上存取還要快上 1000 倍。假如在快取裡找不到該
資料,當然還是得直接從磁碟裡存取,但就如同上面說的,您將可以節省些微的存取時間。




--
※ 來源: DISP BBS 看板: Knuckles_note 文章連結: http://disp.cc/b/11-g6S
※ 作者: Knuckles  來自: 118.166.118.246  時間: 2010-07-30 03:07:09
※ 編輯: Knuckles  來自: 118.166.118.246  時間: 2010-07-30 03:11:15
※ 看板: KnucklesNote 文章推薦值: 4 目前人氣: 0 累積人氣: 4973 
( ̄︶ ̄)b terrykyo, tails 說讚!
1樓 時間: 2010-07-31 20:05:15 (台灣)
  07-31 20:05 TW
好文... 借轉
uefangsmith 轉錄至看板 uefacool 時間:2010-07-31 20:05:26
terrykyo 轉錄至看板 terrykyo 時間:2011-04-04 01:59:02
2樓 時間: 2011-09-18 19:41:56 (台灣)
  09-18 19:41 TW
感謝分享 <(_ _)>
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇