free
free 命令相對於top 提供了更簡潔的檢視系統記憶體使用情況:
# free
total used free shared buffers cached
mem: 255988 231704 24284 0 6432 139292
-/+ buffers/cache: 85980 170008
swap: 746980 0 746980
mem:表示物理記憶體統計
-/+ buffers/cached:表示物理記憶體的快取統計
swap:表示硬碟上交換分割槽的使用情況,這裡我們不去關心。
系統的總物理記憶體:255988kb(256m),但系統當前真正可用的記憶體並不是第一行free 標記的 24284kb,它僅代表未被分配的記憶體。
我們使用total1、used1、free1、used2、free2 等名稱來代表上面統計資料的各值,1、2 分別代表第一行和第二行的資料。
total1:表示物理記憶體總量。
used1:表示總計分配給快取(包含buffers 與cache )使用的數量,但其中可能部分快取並未實際使用。
free1:未被分配的記憶體。
shared1:共享記憶體,一般系統不會用到,這裡也不討論。
buffers1:系統分配但未被使用的buffers 數量。
cached1:系統分配但未被使用的cache 數量。buffer 與cache 的區別見後面。
used2:實際使用的buffers 與cache 總量,也是實際使用的記憶體總量。
free2:未被使用的buffers 與cache 和未被分配的記憶體之和,這就是系統當前實際可用記憶體。
total1 = used2 + free2
used1 = buffers1 + cached1 + used2
free2 = buffers1 + cached1 + free1
buffer 與cache 的區別
a buffer is something that has yet to be "written" to disk. a cache is something that has been "read" from the disk and stored for later use.
兩者都是ram中的資料。簡單來說,buffer是即將要被寫入磁碟的,cache是被從磁碟中讀出來的。
buffer是用於儲存速度不同步的裝置或優先順序不同的裝置之間傳輸資料的區域。緩衝(buffers)是根據磁碟的讀寫設計的,把分散的寫操作集中進行,減少磁碟碎片和硬碟的反覆尋道,從而提高系統效能。
cache經常被用在磁碟的i/o請求上,如果有多個程序都要訪問某個檔案,於是該檔案便被做成cache以方便下次被訪問,這樣可提供系統效能。快取(cached)是把讀取過的資料儲存起來,重新讀取時若命中(找到需要的資料)就不要去讀硬碟了,若沒有命中就讀硬碟。其中的資料會根據讀取頻率進行組織,把最頻繁讀取的內容放在最容易找到的位置,把不再讀的內容不斷往後排,直至從中刪除。
free命令小結
參考 free輸出格式如下 total used free shared buffers cached mem 32783508 32138192 6453161008516 241816 13874660 buffers cache 18021716 14761792 要點是,這裡的第一行mem的...
free 命令詳解
free命令可以顯示當前系統未使用的和已使用的記憶體數目,還可以顯示被核心使用的記憶體緩衝區。語法free 選項 選項 b 以byte為單位顯示記憶體使用情況 k 以kb為單位顯示記憶體使用情況 m 以mb為單位顯示記憶體使用情況 o 不顯示緩衝區調節列 s間隔秒 持續觀察記憶體使用狀況 t 顯示記...
Free命令解析
free命令解析 linux free命令是檢視記憶體和swap分割槽試用情況的命令,下面就對此命令的輸出結果做下詳細的說明。例 我的free命令結果如下 root localhost free total used free shared buffers cached mem 515740 455...