久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux命令中vmstat怎么用

177次閱讀
沒有評論

共計 5994 個字符,預計需要花費 15 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 Linux 命令中 vmstat 怎么用,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

vmstat 是 Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計)的縮寫, 是實時系統(tǒng)監(jiān)控工具;用來獲得有關進程、虛存、頁面交換空間及  CPU 活動的信息。這些信息反映了系統(tǒng)的負載情況;這個命令 Linux/Unix 都支持,而且相比 top,通過該命令可以看到整個機器的 CPU, 內(nèi)存,IO 的使用情況,而不是單單看到各個進程的 CPU 使用率和內(nèi)存使用率 (使用場景不一樣)。

1、命令格式

vmstat
[-a] [-n] [-S unit] [delay [ count]]

  vmstat [-s] [-n] [-S unit]

  vmstat [-m] [-n] [delay [ count]]

  vmstat [-d] [-n] [delay [ count]]

  vmstat [-p disk partition] [-n] [delay [
count]]

  vmstat [-f]

  vmstat [-V]

2、命令參數(shù)

-a:顯示活躍和非活躍內(nèi)存

-f:顯示從系統(tǒng)啟動至今的 fork 數(shù)量  。

-m:顯示 slabinfo

-n:只在開始時顯示一次各字段名稱。

-s:顯示內(nèi)存相關統(tǒng)計信息及多種系統(tǒng)活動數(shù)量。

delay:刷新時間間隔。如果不指定,只顯示一條結(jié)果。

count:刷新次數(shù)。如果不指定刷新次數(shù),但指定了刷新時間間隔,這時刷新次數(shù)為無窮。

-d:顯示磁盤相關統(tǒng)計信息。

-p:顯示指定磁盤分區(qū)統(tǒng)計信息

-S:使用指定單位顯示。參數(shù)有  k 、K 、m 、M ,分別代表 1000、1024、1000000、1048576 字節(jié)(byte)。默認單位為 K(1024
bytes)

-V:顯示 vmstat 版本信息。

3、使用示例

[root@seaing ~]# vmstat
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  0 15700892 181712 385304  0 
0  4  11 
30  26  0  0
100  0 
0

[root@seaing ~]# vmstat -a
procs ———–memory———- —swap– —–io—- –system–
—–cpu——
 r 
b  swpd  free 
inact active  si  so 
bi  bo  in 
cs us sy id wa st
 0 
0  0 15700892 272456
344768  0  0 
4  11  30 
26  0  0 100 
0  0

– 每 2 秒采集一次服務器狀態(tài),共采集 6 次

[root@seaing ~]# vmstat 2 6
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  0 15701016 181712
385308  0  0 
4  11  32 
26  0  0 100 
0  0
 0 
0  0 15701016 181712
385308  0  0 
0  0 1015  72 
0  0 100  0  0
 0 
0  0 15701016 181712
385308  0  0 
0  0 1016  71 
0  0 100  0  0
 0 
0  0 15701016 181712
385308  0  0 
0  14 1016  76 
0  0 100  0  0
 0 
0  0 15701008 181712
385308  0  0 
0  0 1014  73 
0  0 100  0  0
 0 
0  0 15701008 181712
385308  0  0 
0  0 1019  70 
0  0 100  0  0

說明:

類別

項目

含義

說明

Procs(進程)

r

等待執(zhí)行的任務數(shù)

展示了正在執(zhí)行和等待 cpu 資源的任務個數(shù)。當這個值超過了 cpu 個數(shù),就會出現(xiàn) cpu 瓶頸。

這個也和 top 的負載有關系,一般負載超過了 3 就比較高,超過了 5 就高,超過了 10 就不正常了,服務器的狀態(tài)很危險。top 的負載類似每秒的運行隊列。如果運行隊列過大,表示你的 CPU 很繁忙,一般會造成 CPU 使用率很高。

B

等待 IO 的進程數(shù)量

  也可以理解為阻塞的進程數(shù)

Memory(內(nèi)存)

swpd

正在使用虛擬的內(nèi)存大小,單位 k

  虛擬內(nèi)存已使用的大小,如果大于 0,表示你的機器物理內(nèi)存不足了,如果不是程序內(nèi)存泄露的原因,那么你該升級內(nèi)存了或者把耗內(nèi)存的任務遷移到其他機器。

free

空閑物理內(nèi)存的大小

 

buff

已用的 buff 大小,對塊設備的讀寫進行緩沖

 

cache

已用的 cache 大小,文件系統(tǒng)的 cache

 cache 直接用來記憶我們打開的文件, 給文件做緩沖 (這里是 Linux/Unix 的聰明之處,把空閑的物理內(nèi)存的一部分拿來做文件和目錄的緩存,是為了提高程序執(zhí)行的性能,當程序使用內(nèi)存時,buffer/cached 會很快地被使用。)

Swap

si

每秒從磁盤讀入虛擬內(nèi)存的大?。▎挝唬簁b/s)

  如果這個值大于 0,表示物理內(nèi)存不夠用或者內(nèi)存泄露了,要查找耗內(nèi)存進程解決掉。

so

每秒虛擬內(nèi)存寫入磁盤的大小

  如果這個值大于 0,同上

IO

bi

每秒讀取的塊數(shù)(讀磁盤)

這里的塊設備是指系統(tǒng)上所有的磁盤和其他塊設備,默認塊大小是 1024byte

bo

每秒寫入的塊數(shù)(寫磁盤)

  例如我們讀取文件,bo 就要大于 0。bi 和 bo 一般都要接近 0,不然就是 IO 過于頻繁,需要調(diào)整。

system

in

每秒 CPU 的中斷數(shù),包括時鐘中斷

這兩個值越大,會看到由內(nèi)核消耗的 cpu 時間會越多

上下文切換次數(shù)過多表示你的 CPU 大部分浪費在上下文切換,導致 CPU 干正經(jīng)事的時間少了,CPU 沒有充分利用,是不可取的。

cs

每秒上下文切換數(shù)

CPU(以百分比表示)

us

用戶進程執(zhí)行消耗 cpu 時間 (user time)

us 的值比較高時,說明用戶進程消耗的 cpu 時間多,但是如果長期超過 50% 的使用,那么我們就該考慮優(yōu)化程序算法或其他措施了

sy

系統(tǒng)進程消耗 cpu 時間 (system time)

sys 的值過高時,說明系統(tǒng)內(nèi)核消耗的 cpu 資源多,這個不是良性的表現(xiàn),我們應該檢查原因。

id

空閑時間 (包括 IO 等待時間)

  一般來說,id + us + sy = 100, 一般我認為 id 是空閑 CPU 使用率,us 是用戶 CPU 使用率,sy 是系統(tǒng) CPU 使用率。

wa

等待 IO 時間

wa 過高時,說明 io 等待比較嚴重,這可能是由于磁盤大量隨機訪問造成的,也有可能是磁盤的帶寬出現(xiàn)瓶頸。

– 顯示磁盤相關統(tǒng)計信息

[root@seaing ~]# 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
ram1  0  0 
0  0  0 
0  0  0 
0  0
ram2  0  0 
0  0  0 
0  0  0 
0  0
ram3  0  0 
0  0  0 
0  0  0 
0  0
ram4  0  0 
0  0  0 
0  0  0 
0  0
ram5  0   0 
0  0  0 
0  0  0 
0  0
ram6  0  0 
0  0  0 
0  0  0 
0  0
ram7  0  0 
0  0  0 
0  0  0 
0  0
ram8  0  0 
0   0 
0  0  0 
0  0  0
ram9  0  0 
0  0  0 
0  0  0 
0  0
ram10  0  0 
0  0  0 
0  0  0 
0  0
ram11  0  0 
0  0  0 
0  0  0 
0  0
ram12  0  0 
0  0  0 
0  0  0 
0  0
ram13  0  0 
0  0  0 
0  0  0 
0  0
ram14  0  0 
0  0  0 
0  0  0 
0  0
ram15  0  0 
0  0  0 
0  0  0 
0  0
sda  19755  13057 
834627  82098 488536 207361
5567304  207387  0 
161
sdb  941  2526 
5713  361  842 
70921  143526  2720 
0  0
sdc  449  191 
2711  75  0 
0  0  0 
0  0
sdd  237174  194 1896535  22173 
1874 233855 1885832  328146  0 
24
sde  868  1757 
4251  277  760 
71240  144000  3584 
0  0
sdf  414  101 
1711  34  0 
0  0  0 
0  0
sdg  22910  101 
181679  4143  189 
22314  180024  32323 
0  4
sdh  877  1748 
4251  84  623 
71377  144000  65594 
0  0
sdi  418  95 
1695  47  0 
0  0  0 
0  0
sdj  22417  95 
177687  2323  192 
22797  183912  79565 
0  3
disk- ————reads———— ————writes———– —–IO——
  total merged sectors  ms 
total merged sectors  ms  cur 
sec
sdk  881  2145 
4879  204  615 
70984  143204  65317 
0  0
sdl  414  101 
1711  30  0 
0  0  0 
0  0
sdm  22413  101 
177703  4086  186 
21814  176000  75456 
0  4
dm-0  30821  0 
829946  324147 695909  0 5567272 
681182  0  161
dm-1  112  0 
896  905  0 
0  0  0 
0  0
sr0  0  0 
0   0 
0  0  0 
0  0  0
md0  0  0 
0  0  0 
0  0  0 
0  0
loop0  0  0 
0  0  0 
0  0  0 
0  0
loop1  0  0 
0  0  0 
0  0  0 
0  0
loop2  0  0 
0  0  0 
0  0  0 
0  0
loop3  0  0 
0  0  0 
0  0  0 
0  0
loop4  0  0 
0  0  0 
0  0  0 
0  0
loop5  0  0 
0  0  0 
0  0  0 
0  0
loop6  0  0 
0  0  0 
0  0  0 
0  0
loop7  0  0 
0  0  0 
0  0  0 
0  0

– 查看分區(qū)的資源使用情況

[root@seaing ~]# vmstat -p /dev/sda1
sda1  reads  read sectors 
writes  requested writes
  124  2309  9  32

– 以 M 為單位顯示所有情況

[root@seaing ~]# vmstat -S m
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  0  16077 
186  394  0 
0  4  11 
31  26  0  0
100  0 
0

– 顯示 vmstat 版本的信息

[root@seaing ~]# vmstat –V
procps version 3.2.7

– 顯示內(nèi)存相關統(tǒng)計信息及多種系統(tǒng)活動數(shù)量

[root@seaing ~]# vmstat -s
  16426356  total memory
  725216  used memory
  344788  active memory
  272460  inactive memory
  15701140  free memory
  181712  buffer memory
  385320  swap cache
  18481144  total swap
  0  used swap
  18481144  free swap
  4478 non-nice user cpu ticks
  2105 nice user cpu ticks
  11814 system cpu ticks
  38902423 idle cpu ticks
  14495 IO-wait cpu ticks
  13407 IRQ cpu ticks
  4756 softirq cpu ticks
  0 stolen cpu ticks
  1654066 pages paged in
  4289217 pages paged out
  0 pages swapped in
  0 pages swapped out
  99503472 interrupts
  10117715 CPU context switches
  1508999388 boot time
  8617 forks

說明:

non-nice user cpu ticks 自系統(tǒng)啟動以來,CPU 在用戶態(tài)下運行非 nice 進程的時間,單位為 jiffies user
nice user cpu ticks     自系統(tǒng)啟動以來,CPU 在用戶態(tài)下運行 nice 進程的時間,單位為 jiffies nice
system cpu ticks         自系統(tǒng)啟動以來,CPU 處于系統(tǒng)狀態(tài)的時間,單位為 jiffies sys
idle cpu ticks           自系統(tǒng)啟動以來,CPU 處于閑置狀態(tài)的時間,單位為 jiffies idle
IO-wait cpu ticks       自系統(tǒng)啟動以來,CPU 處理 IO 中斷的時間,單位為 jiffies iowait
IRQ cpu ticks           自系統(tǒng)啟動以來,CPU 處理硬中斷的時間,單位為 jiffies irq
softirg cpu ticks       自系統(tǒng)啟動以來,CPU 處理軟中斷的時間,單位為 jiffies Softirq
interrupts               自系統(tǒng)啟動以來,發(fā)生的所有的中斷的次數(shù)目 Intr
CPU context switches     自系統(tǒng)啟動以來,發(fā)生的上下文交換的次數(shù) Ctxt
boot time               自系統(tǒng)啟動以來到現(xiàn)在運行的時間,單位為秒。btime
forks                   自系統(tǒng)啟動以來所創(chuàng)建的任務的個數(shù)目。Process

4、常見問題處理

如果 r 經(jīng)常大于 4,且 id 經(jīng)常少于 40,表示 cpu 的負荷很重。

如果 bi,bo 長期不等于 0,表示內(nèi)存不足。

關于“Linux 命令中 vmstat 怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節(jié)

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-12-07發(fā)表,共計5994字。
轉(zhuǎn)載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 和田市| 且末县| 芮城县| 水城县| 勃利县| 宝丰县| 昌都县| 济阳县| 平谷区| 河南省| 开封市| 三明市| 恩平市| 繁峙县| 竹溪县| 雷州市| 石阡县| 凤城市| 安岳县| 农安县| 托克逊县| 宁阳县| 东源县| 高邑县| 乌鲁木齐市| 阜平县| 许昌市| 民丰县| 离岛区| 昭通市| 桃园市| 马山县| 兴义市| 民勤县| 道真| 镇康县| 光山县| 海晏县| 横山县| 民权县| 平阳县|