語(yǔ)法格式: vmstat [-V] [-n] [-S unit] [delay [count]]
-V prints version.
-n causes the headers not to be reprinted regularly.
-a print inactive/active page stats.
-d prints disk statistics
-D prints disk table
-p prints disk partition statistics
-s prints vm table
-m prints slabinfo
-t add timestamp to output
-S unit size
delay is the delay between updates in seconds.
unit size k:1000 K:1024 m:1000000 M:1048576 (default is K)
count is the number of updates.
參數(shù)解釋:
-V:顯示vmstat版本信息
-n:只在開(kāi)始時(shí)顯示一次各字段名稱
-a:顯示活躍和非活躍內(nèi)存
-d:顯示各個(gè)磁盤(pán)相關(guān)統(tǒng)計(jì)信息
-D:顯示磁盤(pán)總體信息
-p:顯示指定磁盤(pán)分區(qū)統(tǒng)計(jì)信息
-s:顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息及多種系統(tǒng)活動(dòng)數(shù)量
-m:顯示slabinfo
-t:在輸出信息的時(shí)候也將時(shí)間一并輸出出來(lái)
-S:使用指定單位顯示。參數(shù)有k、K、m、M,分別代表1000、1024、1000000、1048576字節(jié)(byte)。默認(rèn)單位為K(1024bytes)
delay:刷新時(shí)間間隔。如果不指定,只顯示一條結(jié)果
count:刷新次數(shù)。如果不指定刷新次數(shù),但指定了刷新時(shí)間間隔,這時(shí)刷新次數(shù)為無(wú)窮
二、vmstat各字段說(shuō)明
1、procs
r:表示運(yùn)行和等待CPU時(shí)間片的進(jìn)程數(shù)(就是說(shuō)多少個(gè)進(jìn)程真的分配到CPU),這個(gè)值如果長(zhǎng)期大于系統(tǒng)CPU個(gè)數(shù),說(shuō)明CPU不足,需要增加CPU
b:表示在等待資源的進(jìn)程數(shù),比如正在等待I/O或者內(nèi)存交換等。
2、memory
swpd:表示切換到內(nèi)存交換區(qū)的內(nèi)存大小,即虛擬內(nèi)存已使用的大小(單位KB),如果大于0,表示你的機(jī)器物理內(nèi)存不足了,如果不是程序內(nèi)存泄露的原因,那么你該升級(jí)內(nèi)存了或者把耗內(nèi)存的任務(wù)遷移到其他機(jī)器。
free:表示當(dāng)前空閑的物理內(nèi)存
buff:表示baffers cached內(nèi)存大小,也就是緩沖大小,一般對(duì)塊設(shè)備的讀寫(xiě)才需要緩沖
Cache:表示page cached的內(nèi)存大小,也就是緩存大小,一般作為文件系統(tǒng)進(jìn)行緩沖,頻繁訪問(wèn)的文件都會(huì)被緩存,如果cache值非常大說(shuō)明緩存文件比較多,如果此時(shí)io中的bi比較小,說(shuō)明文件系統(tǒng)效率比較好
3、swap
si:表示有磁盤(pán)調(diào)入內(nèi)存,也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的內(nèi)存大?。煌ㄋ椎闹v就是 每秒從磁盤(pán)讀入虛擬內(nèi)存的大小,如果這個(gè)值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露了,要查找耗內(nèi)存進(jìn)程解決掉。
so:表示由內(nèi)存進(jìn)入磁盤(pán),也就是由內(nèi)存交換區(qū)進(jìn)入內(nèi)存的內(nèi)存大小。
注意:一般情況下si、so的值都為0,如果si、so的值長(zhǎng)期不為0,則說(shuō)明系統(tǒng)內(nèi)存不足,需要增加系統(tǒng)內(nèi)存
4、io
bi:表示由塊設(shè)備讀入數(shù)據(jù)的總量,即讀磁盤(pán),單位kb/s
bo:表示寫(xiě)到塊設(shè)備數(shù)據(jù)的總量,即寫(xiě)磁盤(pán),單位kb/s
注意:如果bi+bo的值過(guò)大,且wa值較大,則表示系統(tǒng)磁盤(pán)IO瓶頸
5、system
in:表示某一時(shí)間間隔內(nèi)觀測(cè)到的每秒設(shè)備終端數(shù)
cs:表示每秒產(chǎn)生的 上下文切換次數(shù),例如我們調(diào)用系統(tǒng)函數(shù),就要進(jìn)行上下文切換,線程的切換,也要進(jìn)程上下文切換,這個(gè)值要越小越好,太大了,要考慮調(diào)低線程或者進(jìn)程的數(shù)目,例如在apache和nginx這種web服務(wù)器中,我們一般做性能測(cè)試時(shí)會(huì)進(jìn)行幾千并發(fā)甚至幾萬(wàn)并發(fā)的測(cè)試,選擇web服務(wù)器的進(jìn)程可以由進(jìn)程或者線程的峰值一直下調(diào),壓測(cè),直到cs到一個(gè)比較小的值,這個(gè)進(jìn)程和線程數(shù)就是比較合適的值了。系統(tǒng)調(diào)用也是,每次調(diào)用系統(tǒng)函數(shù),我們的代碼就會(huì)進(jìn)入內(nèi)核空間,導(dǎo)致上下文切換,這個(gè)是很耗資源,也要盡量避免頻繁調(diào)用系統(tǒng)函數(shù)。上下文切換次數(shù)過(guò)多表示你的CPU大部分浪費(fèi)在上下文切換,導(dǎo)致CPU干正經(jīng)事的時(shí)間少了,CPU沒(méi)有充分利用,是不可取的。
注意:
這兩個(gè)值越大,則由內(nèi)核消耗的CPU就越多
6、CPU
us:表示用戶進(jìn)程消耗的CPU時(shí)間百分比,us值越高,說(shuō)明用戶進(jìn)程消耗CPU時(shí)間越多,如果長(zhǎng)期大于50%,則需要考慮優(yōu)化程序或者算法
sy:表示系統(tǒng)內(nèi)核進(jìn)程消耗的CPU時(shí)間百分比,一般來(lái)說(shuō)us+sy應(yīng)該小于80%,如果大于80%,說(shuō)明可能存在CPU瓶頸
id:表示CPU處在空間狀態(tài)的時(shí)間百分比
wa:表示IP等待所占用的CPU時(shí)間百分比,wa值越高,說(shuō)明I/O等待越嚴(yán)重,根據(jù)經(jīng)驗(yàn)wa的參考值為20%,如果超過(guò)20%,說(shuō)明I/O等待嚴(yán)重,引起I/O等待的原因可能是磁盤(pán)大量隨機(jī)讀寫(xiě)造成的,也可能是磁盤(pán)或者監(jiān)控器的貸款瓶頸(主要是塊操作)造成的
綜上所述,如果評(píng)估CPU,需要重點(diǎn)關(guān)注procs項(xiàng)的r列值和CPU想的us、sy、wa列的值
三、使用實(shí)踐
一般vmstat工具的使用是通過(guò)兩個(gè)數(shù)字參數(shù)來(lái)完成的,第一個(gè)參數(shù)是采樣的時(shí)間間隔數(shù),單位是秒,第二個(gè)參數(shù)是采樣的次數(shù),如:
2表示每個(gè)兩秒采集一次服務(wù)器狀態(tài),1表示只采集一次。
實(shí)際上,在應(yīng)用過(guò)程中,我們會(huì)在一段時(shí)間內(nèi)一直監(jiān)控,不想監(jiān)控直接結(jié)束vmstat就行了,例如:
這表示vmstat每2秒采集數(shù)據(jù),一直采集,直到我結(jié)束程序,這里采集了7次數(shù)據(jù)我就結(jié)束了程序。
------------------------------------------------------------------------------------------------------------------
分享題目:vmstat主機(jī)性能分析-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://bm7419.com/article6/dsscig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、微信公眾號(hào)、品牌網(wǎng)站制作、小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容