vmstat 偵測系統資源變化

2021-06-21 23:53:40 字數 2637 閱讀 3193

如果你想要動態的了解一下系統資源的執行,那麼可以使用 vmstat 命令!vmstat 可以偵測: cpu / 記憶體 / 磁碟輸入輸出狀態 等等,如果你想要了解一部繁忙的系統到底是哪個環節最累人, 可以使用 vmstat 分析看看。底下是常見的選項與引數說明:

[root@instructor ~]#  vmstat [-a] [延遲 [總計偵測次數]] <==cpu/記憶體等資訊

[root@instructor ~]#  vmstat [-fs]                      <==記憶體相關

[root@instructor ~]#  vmstat [-s 單位]                  <==配置顯示資料的單位

[root@instructor ~]#  vmstat [-d]                       <==與磁碟有關

[root@instructor ~]#  vmstat [-p 分割槽]                <==與磁碟有關

選項與引數:

-a  :使用 inactive/active(活躍與否) 取代 buffer/cache 的記憶體輸出資訊;

-f  :啟動到目前為止,系統複製 (fork) 的程式數;

-s  :將一些事件 (啟動至目前為止) 導致的記憶體變化情況列表說明;

-s  :後面可以接單位,讓顯示的資料有單位。例如 k/m 取代 bytes 的容量;

-d  :列出磁碟的讀寫總量統計表

-p  :後面列出分割槽,可顯示該分割槽的讀寫總量統計表

範例一:統計目前主機 cpu 狀態,每秒一次,共計三次!

[root@instructor ~]#  vmstat 1 3

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0     28  61540 137000 291960    0    0     4     5   38   55  0  0 100  0  0

0  0     28  61540 137000 291960    0    0     0     0 1004   50  0  0 100  0  0

0  0     28  61540 137000 291964    0    0     0     0 1022   65  0  0 100  0  0

利用 vmstat 甚至可以進行追蹤!你可以使用類似 vmstat 5 代表每五秒鐘公升級一次,且無窮的公升級!直到你按下 [ctrl]-c 為止。如果你想要即時的知道系統資源的執行狀態,可以使用這個命令!那麼上面的**各項 基本說明如下:

記憶體字段 (procs) 的專案分別為:

r :等待執行中的程式數量;b:不可被喚醒的程式數量。這兩個專案越多,代表系統越忙碌 (因為系統太忙,所以很多程式就無法被執行或一直在等待而無法被喚醒之故)。

記憶體字段 (memory) 專案分別為:

swpd:虛擬記憶體被使用的容量; free:未被使用的記憶體容量; buff:用於緩衝記憶體; cache:用於快取記憶體。 這部份則與 free 是相同的。

記憶體置換空間 (swap) 的專案分別為:

si:由磁碟中將程式取出的量; so:由於記憶體不足而將沒用到的程式寫入到磁碟的 swap 的容量。 如果 si/so 的數值太大,表示記憶體內的資料常常得在磁碟與主記憶體之間傳來傳去,系統效能會很差!

磁碟讀寫 (io) 的專案分別為:

bi:由磁碟寫入的區塊數量; bo:寫入到磁碟去的區塊數量。如果這部份的值越高,代表系統的 i/o 非常忙碌!

系統 (system) 的專案分別為:

in:每秒被中斷的程式次數; cs:每秒鐘進行的事件切換次數;這兩個數值越大,代表系統與周邊裝置的溝通非常頻繁! 這些周邊裝置當然包括磁碟、網路卡、時間鐘等。

cpu 的專案分別為:

us:非核心層的 cpu 使用狀態; sy:核心層所使用的 cpu 狀態; id:閒置的狀態; wa:等待 i/o 所耗費的 cpu 狀態; st:被虛擬機器 (virtual machine) 所盜用的 cpu 使用狀態 (2.6.11 以後才支援)。 

範例二:系統上面所有的磁碟的讀寫狀態

[root@instructor ~]#  vmstat -d

disk- ------------reads------------ ------------writes----------- -----io------

total merged sectors      ms  total merged sectors      ms    cur    sec

ram0       0      0       0       0      0      0       0       0      0      0

....(中間省略)....

hda   144188 182874 6667154 7916979 151341 510244 8027088 15244705      0    848

hdb        0      0       0       0      0      0       0       0      0      0

vmstat命令檢視系統資源占用情況

vmstat 2 直接檢視系統當前各項占用情況,每2秒輸出一次資料。字段說明 procs 程序 r 執行佇列中程序數量 b 等待io的程序數量 memory 記憶體 swpd 使用虛擬記憶體大小 free 可用記憶體大小 buff 用作緩衝的記憶體大小 cache 用作快取的記憶體大小 swap s...

系統資源監控

系統資源監控 free 觀察記憶體使用情況 uname 查閱系統與核心相關資訊 s 系統核心名稱 r 核心版本 uptime 觀察系統啟動時間與負載 netstat 網路監察 vmstat 偵測系統資源變化 iftop 網路流量的監控 netsata 網路監控 netsata 選項 a 將目前系統上...

系統資源檢視

1 vmstat命令監控系統資源 root localhost vmstat 重新整理延時 重新整理次數 例如 root localhost proc vmstat 1 3 2 dmesg開機時核心檢測資訊 root localhost dmesg root localhost dmesg grep...