vmstat 命令代表“虛擬內存統計”。..這是一個報告虛擬內存統計信息的工具。具體來說,它報告有關係統內存、交換和處理器資源利用率、內核線程和磁盤的實時數據。 Linux 開發人員經常使用此工具來解決與內存相關的問題。
不帶任何選項運行 vmstat 命令會顯示自上次重新引導系統以來的內存統計信息摘要。或者,您可以使用 vmstat 在固定時間間隔後定期報告內存。您將在本教程中了解更多信息。
使用 vmstat 命令
首先,在不帶選項運行 vmstat 命令時檢查輸出。為此,您需要鍵入 vmstat 並按 Enter。
vmstat
我知道這是很多參數。讓我們看看每個是什麼意思。
- 處理
- r: r: 活動進程的數量。
- 2號: 無法中斷的休眠進程數。
- 記憶
- 轉變:系統使用的虛擬內存量。
- 自由:空閒內存量也稱為空閒內存。
- 淡黃色:用作緩衝區的內存量。
- 緩存:用作緩存的內存量。
- 貨幣兌換
- 什麼時候: 從磁盤換入內存。該值表示匯率(每秒)。 (存在)
- 所以: 內存被交換到磁盤。該值表示匯率(每秒)。 (出去)
- 一代
- 什麼時候: 從塊設備接收塊的速度(塊/秒)。
- 波特率: 塊發送到塊設備的速度(塊/秒)。
- 系統
- 存在:存在: 每秒中斷,包括時鐘。
- CS: 調度程序每秒執行的上下文切換次數。
- CPU – 這些是總 CPU 時間的百分比。
- 我們: 用於用戶進程的 CPU 時間百分比。
- 他的: 花費在內核進程上的 CPU 時間百分比。
- ID: 空閒時間的百分比。
- 哇: 等待 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判斷fork的數量
在 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 命令的更多信息。