溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vmstate命令怎么使用

發(fā)布時間:2022-06-21 09:42:52 來源:億速云 閱讀:107 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下vmstate命令怎么使用的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1。 使用vmstat

使用前我們先看下命令介紹及參數(shù)定義

Usage:
 vmstat [options] [delay [count]]
Options:
 -a, --active           active/inactive memory
 -f, --forks            number of forks since boot
 -m, --slabs            slabinfo
 -n, --one-header       do not redisplay header
 -s, --stats            event counter statistics
 -d, --disk             disk statistics
 -D, --disk-sum         summarize disk statistics
 -p, --partition <dev>  partition specific statistics
 -S, --unit <char>      define display unit
 -w, --wide             wide output
 -t, --timestamp        show timestamp
 -h, --help     display this help and exit
 -V, --version  output version information and exit
For more details see vmstat(8).

中文翻譯

  • -a:顯示活躍和非活躍內(nèi)存
    -f:顯示從系統(tǒng)啟動至今的 fork 數(shù)量 。
    -m:顯示 slabinfo
    -n:只在開始時顯示一次各字段名稱。
    -s:顯示內(nèi)存相關(guān)統(tǒng)計信息及多種系統(tǒng)活動數(shù)量。
    delay:刷新時間間隔。如果不指定,只顯示一條結(jié)果。
    count:刷新次數(shù)。如果不指定刷新次數(shù),但指定了刷新時間間隔,這時刷新次數(shù)為無窮。
    -d:顯示磁盤相關(guān)統(tǒng)計信息。
    -p:顯示指定磁盤分區(qū)統(tǒng)計信息
    -S:使用指定單位顯示。參數(shù)有 k 、K 、m 、M ,分別代表 1000、1024、1000000、1048576 字節(jié)(byte)。
    默認單位為 K(1024 bytes)
    -V:顯示 vmstat 版本信息。

2。實戰(zhàn)

例子:每 2 秒輸出一條結(jié)果

[root@k8s-master01 ~]# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 4  0      0 485092      0 1249236    0    0     3    19   47   31  1  1 98  0  0
 0  0      0 485364      0 1249364    0    0     0    34 2885 4952  1  3 97  0  0
 0  0      0 485472      0 1249368    0    0     0    34 2107 3561  1  1 98  0  0
 0  0      0 485316      0 1249368    0    0     0    60 1914 3326  1  1 98  0  0

結(jié)果如圖,對上面輸出結(jié)果含義解釋:

Procs(進程):
r: 運行的和等待(CPU 時間片)運行的進程數(shù),這個值也可以判斷是否需要增加 CPU(長期大于 1)
b: 等待 IO 的進程數(shù)量,處于不可中斷狀態(tài)的進程數(shù),常見的情況是由 IO 引起的
Memory(內(nèi)存):
swpd: 使用虛擬內(nèi)存大小,切換到交換內(nèi)存上的內(nèi)存(默認以 KB 為單位)
如果 swpd 的值不為 0,或者還比較大,比如超過 100M 了,但是 si, so 的值長期為 0,這種情況我們可以不用擔心,不會影響系統(tǒng)性能。
free: 空閑的物理內(nèi)存
buff: 用作緩沖的內(nèi)存大小
cache: 用作緩存的內(nèi)存大小,文件系統(tǒng)的 cache,如果 cache 的值大的時候,說明 cache 住的文件數(shù)多,如果頻繁訪問到的文件都能被 cache 住,那么磁盤的讀 IO bi 會非常小
Swap:
si: 每秒從交換區(qū)寫到內(nèi)存的大小,交換內(nèi)存使用,由磁盤調(diào)入內(nèi)存
so: 每秒寫入交換區(qū)的內(nèi)存大小,交換內(nèi)存使用,由內(nèi)存調(diào)入磁盤
內(nèi)存夠用的時候,這 2 個值都是 0,如果這 2 個值長期大于 0 時,系統(tǒng)性能會受到影響。磁盤 IO 和CPU 資源都會被消耗

IO:
bi: 每秒讀取的塊數(shù),從塊設(shè)備讀入的數(shù)據(jù)總量(讀磁盤) (KB/s)
bo: 每秒寫入的塊數(shù),寫入到塊設(shè)備的數(shù)據(jù)總理(寫磁盤) (KB/s)
隨機磁盤讀寫的時候,這 2 個 值越大(如超出 1M),能看到 CPU 在 IO 等待的值也會越大
system:
in: 每秒中斷數(shù),包括時鐘中斷。
cs: 每秒上下文切換數(shù)。
上面這 2 個值越大,會看到由內(nèi)核消耗的 CPU 時間會越多
CPU(以百分比表示):

us: 用戶進程消耗的 CPU 時間百分比,us 的值比較高時,說明用戶進程消耗的 CPU 時間多,但是如果長期超過 50% 的使用,那么我們就該考慮優(yōu)化程序算法或者進行加速了
sy: 內(nèi)核進程消耗的 CPU 時間百分比,sy 的值高時,說明系統(tǒng)內(nèi)核消耗的 CPU 資源多,這并不是良性的表現(xiàn),我們應該檢查原因。
id: CPU 處在空閑狀態(tài)時間百分比(包括 IO 等待時間)
wa: IO 等待消耗的 CPU 時間百分比,wa 的值高時,說明 IO 等待比較嚴重

3。 問題處理中,如何運用?

現(xiàn)象:
1。)如果在processes中運行的序列(process r)是連續(xù)的大于在系統(tǒng)中的CPU的個數(shù)表示系統(tǒng)現(xiàn)在運行比較慢,有多數(shù)的進程等待 CPU。
2。)如果 r 的輸出數(shù)大于系統(tǒng)中可用 CPU 個數(shù)的 4 倍的話,則系統(tǒng)面臨著 CPU 短缺的問題,或者是 CPU 的速率過低,系統(tǒng)中有多數(shù)的進程在等待 CPU,造成系統(tǒng)中進程運行過慢。
3。)如果空閑時間(cpu id)持續(xù)為 0 并且系統(tǒng)時間(cpu sy)是用戶時間的兩倍(cpu us)系統(tǒng)則面臨著 CPU 資源的短缺。

辦法建議:

1。調(diào)節(jié) applications & servers 使得對內(nèi)存和 cache 的使用更加有效。例如:先調(diào)整應用程序?qū)?CPU 的占用情況。使得應用程序能夠更有效的使用 CPU、聯(lián)系DBA查看是否有SQL語句堵塞。
2。增加系統(tǒng)的內(nèi)存或者CPU。

實戰(zhàn)例子:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 7  0      0 475416      0 1251908    0    0     0   441 1961 3307  0  1 98  0  0
 1  0      0 475372      0 1251908    0    0     0    32 1785 3083  1  1 98  0  0
 0  0      0 475744      0 1251916    0    0     0    34 1891 3259  0  1 98  0  0
 2  0      0 475744      0 1251916    0    0     0    18 1935 3381  1  1 98  0  0
 0  0      0 475512      0 1251920    0    0     0    29 2062 3533  2  1 97  0  0
 0  0      0 475884      0 1251920    0    0     0    22 1988 3410  0  1 99  0  0
 0  0      0 475760      0 1251924    0    0     0    22 1757 3040  1  1 98  0  0
 0  0      0 475340      0 1251924    0    0     0    28 2001 3415  0  2 98  0  0
 0  0      0 475636      0 1251924    0    0     0    16 1941 3341  1  1 98  0  0
 0  0      0 475264      0 1251928    0    0     0    29 1986 3408  1  1 98  0  0
 0  0      0 475264      0 1251928    0    0     0    34 2112 3490  1  1 98  0  0
 0  0      0 469308      0 1252084    0    0     0   487 2973 5094  2  3 96  0  0
 0  0      0 471872      0 1252004    0    0     0   212 3007 5139  1  3 96  0  0
 0  0      0 472368      0 1251972    0    0     0   156 2331 3936  1  2 97  0  0
 0  0      0 472632      0 1251976    0    0     0    35 2119 3705  1  2 97  0  0
 0  0      0 472236      0 1251976    0    0     0   425 2018 3372  0  1 99  0  0
 0  0      0 472384      0 1251980    0    0     0    17 1807 3101  1  1 98  0  0

根據(jù)觀察值,我們可以得到以下結(jié)論:
1。有大量的中斷(in) 和較多的上下文切換(cs)。這意味著存在多個的進程在產(chǎn)生對硬件設(shè)備的請求。
2。進一步顯示某單個應用,user time(us)利用率低,說明應用用戶進程使用較少。
3。cpu id 經(jīng)常保持再98%附近,說明當前系統(tǒng)基本上無負載壓力。

以上就是“vmstate命令怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI