linux虛擬記憶體相關資訊統計工具vmstat

2021-07-07 08:53:11 字數 1796 閱讀 6060

1.vmstat

vmstat是乙個檢視虛擬記憶體(virtual memory)使用狀況的工具。

2.使用格式

vmstat -option interval count

3.vmstat常用的選項

-a:顯示活躍和非活躍記憶體

-f:顯示從系統啟動至今的fork數量 。

4.vmstat常用操作舉例

(1)每三秒輸出一次統計資訊

字段說明:

procs(程序):

r: 執行佇列中程序數量,這個值也可以判斷是否需要增加cpu。(長期大於1)

b: 等待io的程序數量

memory(記憶體):

swpd: 使用虛擬記憶體大小

注意:如果swpd的值不為0,但是si,so的值長期為0,這種情況不會影響系統效能。

free: 空閒物理記憶體大小

buff: 用作緩衝的記憶體大小

cache: 用作快取的記憶體大小

注意:如果cache的值大的時候,說明cache處的檔案數多,如果頻繁訪問到的檔案都能被cache處,那麼磁碟的讀io bi會非常小。

swap:

si: 每秒從交換區寫到記憶體的大小,由磁碟調入記憶體

so: 每秒寫入交換區的記憶體大小,由記憶體調入磁碟

注意:記憶體夠用的時候,這2個值都是0,如果這2個值長期大於0時,系統效能會受到影響,磁碟io和cpu資源都會被消耗。有些朋友看到空閒記憶體(free)很少的或接近於0時,就認為記憶體不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那麼不用擔心,系統效能這時不會受到影響的。

io:(現在的linux版本塊的大小為1kb)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

注意:隨機磁碟讀寫的時候,這2個值越大(如超出1024k),能看到cpu在io等待的值也會越大。

系統:in: 每秒中斷數,包括時鐘中斷。

cs: 每秒上下文切換數。

注意:上面2個值越大,會看到由核心消耗的cpu時間會越大。

cpu(以百分比表示):

us: 使用者程序執行時間百分比(user time)

sy: 核心系統程序執行時間百分比(system time)

wa: io等待時間百分比

id: 空閒時間百分比

(2)顯示活躍和非活躍記憶體

使用-a選項顯示活躍和非活躍記憶體時,所顯示的內容除增加inact和active外,其他顯示內容與例子1相同。活躍記憶體與非活躍記憶體就是作業系統page-out需要參考到的資訊了。

作業系統是根據lru演算法(least recently used)來說,表示最近使用得最少的記憶體。作業系統維護兩個lru list,即active list和inactive list。剛剛訪問過的頁面放進active list,長時間未訪問過的頁面放進inactive list。

在使用vimstat -a顯示出來的active memery和inactive memory有下面兩個計算公式:

active memory = active_anon + active_file

inactive memory = inactive_anon + inactive_file

顯示虛擬記憶體統計資訊

可以使用 vmsta 命令報告虛擬記憶體統計資訊,以及有關系統事件 例如 cpu 負載 分頁 上下文切換數 裝置中斷和系統呼叫 的資訊。vmstat 命令還可以顯示有關交換 快取記憶體重新整理和中斷的統計資訊。下表介紹了 vmstat 命令輸出中的字段。表 13 1 vmstat 命令的輸出 類別欄...

linux之虛擬記憶體相關介紹

什麼是虛存?為什麼需要它?我們知道程式 和資料必須駐留在記憶體中才能得以執行,然而系統記憶體數量很有限,往往不能容納乙個完整程式的所有 和資料,更何況在多工系統中,可能需要同時開啟子處理程式,畫圖程式,瀏覽器等很多任務,想讓記憶體駐留所有這些程式顯然不太可能。因此首先能想到的就是將程式分割成小份,只...

Linux虛擬記憶體

linux採用虛擬段頁式儲存方式來管理記憶體,程式的基本邏輯儲存單元,也可以說是程式段。linux中有四個段,段,資料段,bss段,堆疊段。虛擬位址從低到高依次是 段,資料段,bss段,堆疊段。其中 段為程式本身 二進位制指令 資料段為 中初始化了的全域性變數和靜態變數,bss段為為初始化的全域性變...