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
虛擬機 15

不提及迭代值,輸出將如下所示:

$ vmstat 3
虛擬機 3

這裡的輸出每 3 秒更新一次。按 Ctrl + C 退出。將此信息保存在文件中通常很方便。可以使用:

$ vmstat 1 5 > vmstat.txt
vmstat 到文件

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 命令的更多信息。