vmstat 命令代表“虛擬內存統計”。一種報告虛擬內存統計信息的工具。具體來說,它報告有關係統內存、交換和處理器資源利用率、內核線程和磁盤的實時數據。 Linux 開發人員經常使用此工具來解決與內存相關的問題。
運行不帶任何選項的 vmstat 命令可提供自上次重新引導系統以來的內存統計信息摘要。或者,您可以使用 vmstat 定期報告內存。這將在本教程中詳細解釋。
使用 vmstat 命令
首先,讓我們看一下不帶選項運行 vmstat 命令的輸出。為此,您需要鍵入 vmstat 並按 Enter。
vmstat
我知道這是很多參數。讓我們看看每個是什麼意思。
- 過程
- r: 活動進程的數量。
- 2號: 不間斷睡眠進程的數量。
- 記憶
- 轉變:系統使用的虛擬內存量。
- 自由:空閒內存量也稱為空閒內存。
- 淡黃色:用作緩衝區的內存量。
- 緩存:用作緩存的內存量。
- 貨幣兌換
- 什麼時候: 從磁盤換入內存。該值表示匯率(每秒)。 (存在)
- 所以: 內存被交換到磁盤。該值表示匯率(每秒)。 (出去)
- 一代
- 什麼時候: 從塊設備接收塊的速率(塊/秒)。
- 波特率: 塊發送到塊設備的速率(塊/秒)。
- 系統
- 存在: 每秒中斷,包括時鐘。
- CS: 調度程序每秒進行的上下文切換次數。
- CPU – 這些是總 CPU 時間的百分比。
- 我們: 在用戶進程中花費的 CPU 時間百分比。
- 他的: 在內核進程中花費的 CPU 時間百分比。
- 鑑別: 空閒時間的百分比。
- 哇: 等待 I/O 所花費的 CPU 時間百分比。
- 結石: 被虛擬機竊取的時間百分比。
1.帶有間隔和重複的vmstat命令
您可以使用 vmstat 指定時間間隔以實時獲取輸出。這是如何做到的:
$ vmstat [DELAY] [ITERATIONS]
- ‘延遲‘ 表示刷新輸出之前的時間。
- ‘迭代次數‘ 表示刷新輸出的次數。
默認情況下,如果僅提及延遲,則該過程將繼續進行,直到用戶退出。要退出它,用戶必須按 Ctrl + C. 要延遲 1 秒並重複 15 次,命令將是:
$ vmstat 1 15
不提及迭代值,輸出如下所示:
$ vmstat 3

這裡的輸出每 3 秒更新一次。按 Ctrl+C 退出。將此信息保存到文件中通常很方便。您可以使用:
$ vmstat 1 5 > vmstat.txt

2. 使用 vmstat 確定分叉的數量。
在 Linux 操作系統中,fork 基本上是一個系統調用,它從正在運行的父進程創建一個子進程。
你可以使用它 -F 與 vmstat 命令一起,此標誌顯示自系統重新引導以來的分叉總數。分叉總數 叉, 叉子, 什麼時候 克隆 系統調用。
$ vmstat -f

3.事件計數器和內存統計
將 -s 標誌與 vmstat 命令一起使用以顯示有關內存的其他信息。此命令顯示各種事件計數器和內存統計信息的表格。
$ vmstat -s

4.磁盤統計
與上面的內存統計類似,您也可以使用 -D 標誌來獲取有關磁盤活動的信息。
$ vmstat -D

5. 活躍和不活躍的記憶
要顯示活動和非活動內存而不是緩衝區和高速緩存,請在 vmstat 命令中使用 -a 標誌。
- 主動記憶 瀏覽最近訪問的頁面。
- 非活動記憶 瀏覽最近未訪問過的頁面。
$ vmstat -a

6、換單位
您可以更改輸出的內存單位。為此,請在 vmstat 命令中使用 -S 標誌。 -S 標誌後跟四個標誌之一:
- 克 – 千字節(1000 字節)
- 鉀 – 千字節(1024 字節)
- 儀表 – 兆字節(1000000 字節)
- 儀表 – 兆字節(1048576 字節)
語法是:
$ vmstat -S [option]
在這裡,您可以將選項替換為上述四個中的任何一個。
$ vmstat -S k

$ vmstat -S K

$ vmstat -S m

$ vmstat -S M

結論是
本教程介紹了 vmstat,這是一種用於跟踪系統性能的流行工具。 有關 vmstat 命令的更多信息,請查看手冊頁。