linux的top下buffer與cache的區別

2022-08-27 01:48:11 字數 1375 閱讀 8313

buffer:

緩衝區,乙個用於儲存速度不同步的裝置或優先順序不同的裝置之間傳輸資料

的區域。通過緩衝區,可以使程序之間的相互等待變少,從而使從速度慢的裝置讀入資料

時,速度快的裝置的操作程序不發生間斷。

cache:

當你讀寫檔案的時候,linux核心為了提高讀寫效能與速度,會將檔案在記憶體中進行快取,

這部分記憶體就是cache memory(快取記憶體)。即使你的程式執行結束後,cache memory也不會

自動釋放。這就會導致你在linux系統中程式頻繁讀寫檔案後,你會發現可用物理記憶體會很少。

其實這快取記憶體(cache memory)在你需要使用記憶體的時候會自動釋放,所以你不必擔心沒有

記憶體可用。如果你希望手動去釋放cache memory也是有辦法的

我們使用的linux和windows可不太一樣,用top命令得出來的可能不是真實使用的記憶體,用free命令第二行才是系統真實使用的記憶體

在終端中敲入:free

顯 示:total  used  free  shared  buffers  cached

mem:    255268 238332  16936    0      85540    126384

-/+ buffers/cache:26408  228860

系統的總物理記憶體:255268kb(256m),但系統 當前真正可用的記憶體並不是第一行free 標記的 16936kb,它僅代表未被分配的記憶體。

我們使用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 = used1 + free1

total1 = used2 + free2

used1 = buffers1 + cached1 + used2

free2 = buffers1 + cached1 + free1

Linux下的top命令

作用 檢視伺服器的程序佔的資源 語法 進入命令 top 動態顯示 退出命令 按下q鍵 輸出的結果 pid 程序id user 該程序對應的使用者 pr 優先順序 virt 虛擬記憶體 res 常駐記憶體 shr 共享記憶體 計算乙個程序實際使用的記憶體 常駐記憶體 res 共享記憶體 shr s 表...

linux下的top命令初識

top命令是最流行unix linux的效能工具之一。系統管理員可用執行top命令監視程序和linux整體效能。top 命令是 linux 下常用的系統資源占用檢視及效能分析工具,能夠實時顯示系統中各個程序的資源 比如cpu 記憶體的使用 占用狀況,類似於 windows 的任務管理器。top命令的...

linux下top命令的使用

top命令是linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似於windows的任務管理器 檢視引數含義 top檢視分為兩部分 作業系統資源概況資訊和程序資訊。首先分析資源概況中各個引數的含義,再來分析下程序資訊中各個引數含義。資源概況 作業系統時間 登入使用者 負載情況...