當前位置:
首頁 > 知識 > Linux vmstat命令實際操作介紹

Linux vmstat命令實際操作介紹

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監控。它能夠對系統的整體情況進行統計,無法對某個進程進行深入分析

vmstat 工具提供了一種低開銷的系統性能觀察方式。

(1)用法

用法: vmstat [選項參數]

或 vmstat [選項參數] [數字] [數字]

(2)功能:

功能: 報告虛擬內存的統計信息,關於進程、內存、I/O等系統整體運行狀態。

(3)選項參數:

1) -d:        顯示磁碟相關統計信息。

2) -a:       顯示活躍和非活躍內存

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

4) -p:       顯示指定磁碟分區統計信息

5) -s:       顯示內存相關統計信息及多種系統活動數量。

6) -m:       顯示slabinfo

(4)實例:

1) 、vmstat顯示虛擬內存使用情況

linuxidc@linuxidc:~$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b 交換 空閑 緩衝 緩存 si so bi bo in cs us sy id wa st 4 0 0 156252 61016 871752 0 0 76 29 53 138 1 1 98 0 0

欄位說明:

1.Procs(進程)

r: 運行隊列中進程數量,這個值也可以判斷是否需要增加CPU。(長期大於1)

b: 等待IO的進程數量。

2.Memory(內存)

swpd: 使用虛擬內存大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會影響系統性能。

free: 空閑物理內存大小。

buff: 用作緩衝的內存大小。

cache: 用作緩存的內存大小,如果cache的值大的時候,說明cache處的文件數多,如果頻繁訪問到的文件都能被cache處,那麼磁碟的讀IO bi會非常小。

3.Swap

si: 每秒從交換區寫到內存的大小,由磁碟調入內存。

so: 每秒寫入交換區的內存大小,由內存調入磁碟。

注意:

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

4.IO(現在的Linux版本塊的大小為1kb)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

注意:

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

5.system(系統)

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

cs: 每秒上下文切換數。

注意:

上面2個值越大,會看到由內核消耗的CPU時間會越大。

6.CPU(以百分比表示)

us: 用戶進程執行時間百分比(user time) us的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期超50%的使用,那麼我們就該考慮優化程序演算法或者進行加速。

sy: 內核系統進程執行時間百分比(system time) sy的值高時,說明系統內核消耗的CPU資源多,這並不是良性表現,我們應該檢查原因。

wa: IO等待時間百分比 wa的值高時,說明IO等待比較嚴重,這可能由於磁碟大量作隨機訪問造成,也有可能磁碟出現瓶頸(塊操作)。

id: 空閑時間百分比

2)每二秒顯示一次系統內存的統計信息

linuxidc@linuxidc:~$ vmstat 2 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b 交換 空閑 緩衝 緩存 si so bi bo in cs us sy id wa st 4 0 0 113256 61612 889820 0 0 74 29 53 143 1 1 98 0 0 0 0 0 113256 61612 889820 0 0 0 0 60 209 1 1 99 0 0 0 0 0 113256 61620 889820 0 0 0 8 52 157 0 1 99 0 0 1 0 0 99976 61620 890356 0 0 0 0 367 2337 31 7 63 0 0 1 0 0 99724 61620 890356 0 0 0 0 534 2508 35 9 56 0 0 2 0 0 99724 61620 890340 0 0 0 0 150 845 10 3 87 0 0 15 0 0 97196 61660 890368 0 0 0 134 78 464 16 2 82 0 0 0 0 0 109388 61680 890208 0 0 0 162 526 4604 37 12 51 0 0

3)、vmstat每二秒顯示一次系統內存的統計信息,總共5次

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vmstat 2 5

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

r b 交換 空閑 緩衝 緩存 si so bi bo in cs us sy id wa st

5 0 0 111612 61776 889992 0 0 74 29 54 146 1 1 98 0 0

0 0 0 111360 617706 889992 0 0 0 0 58 201 1 1 99 0 0

0 0 0 111360 61784 889984 0 0 0 12 54 161 1 1 98 1 0

0 0 0 111360 61784 889992 0 0 0 0 55 163 1 1 98 0 0

0 0 0 111360 61784 889992 0 0 0 0 52 155 1 1 99 0 0

4)、vmstat -d 顯示磁碟的信息

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ 總用量 merged 扇區 ms 總用量 merged 扇區 ms cur sec loop0 43 0 676 447 0 0 0 0 0 0 loop1 38 0 226 450 0 0 0 0 0 0 loop2 54 0 2124 998 0 0 0 0 0 0 loop3 42 0 674 695 0 0 0 0 0 0 loop4 37 0 664 117 0 0 0 0 0 0 loop5 44 0 678 549 0 0 0 0 0 0 loop6 40 0 230 127 0 0 0 0 0 0 loop7 62 0 2140 846 0 0 0 0 0 0 sda 23949 3166 1621538 221257 9490 10847 654856 221706 0 117 sr0 35 0 2132 64 0 0 0 0 0 0 loop8 1438 0 4802 27055 0 0 0 0 0 2 loop9 216 0 2476 2324 0 0 0 0 0 0 loop10 40 0 670 567 0 0 0 0 0 0 loop11 92 0 2162 2091 0 0 0 0 0 0 loop12 39 0 668 579 0 0 0 0 0 0 loop13 54 0 2152 647 0 0 0 0 0 0 loop14 47 0 2132 871 0 0 0 0 0 0 loop15 64 0 2126 51 0 0 0 0 0 0

merged:表示一次來自於合併的寫/讀請求,一般系統會把多個連接/鄰近的讀/寫請求合併到一起來操作。

5)、vmstat -a 顯示活躍內存與非活躍內存

使用-a選項顯示活躍和非活躍內存時,所顯示的內容除增加inact和active外,其他顯示內容與例子1相同。

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vmstat -a procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b 交換 空閑 不活動 活動 si so bi bo in cs us sy id wa st 4 0 0 99324 408308 1046888 0 0 72 29 55 153 1 1 98 0 0

6)、vmstat -f 查看系統已經被fork多少次

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vmstat -f

5100 forks

7)、vmstat -p tmpfs  查看特定磁碟設備的

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vmstat -p /dev/sda1 sda1 reads read sectors writes requested writes 23879 1617802 10140 668056

說明:

這些信息主要來自於/proc/diskstats。

reads:         來自於這個分區的讀的次數。

read sectors:     來自於這個分區的讀扇區的次數。

writes:        來自於這個分區的寫的次數。

requested writes:  來自於這個分區的寫請求次數。

8)、vmstat -m        顯示slabinfo

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo vmstat -m

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 尤沐西子 的精彩文章:

linux-如何快速替換IP
DDOS攻擊詳解

TAG:尤沐西子 |