Linux 监控命令之 vmstat
生活随笔
收集整理的這篇文章主要介紹了
Linux 监控命令之 vmstat
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
安裝
vmstat是在sysstat包里的,安裝時(shí)執(zhí)行命令yum install -y sysstat即可。
參數(shù)說明
vmstat常見命令格式如下:
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]命令選項(xiàng)說明如下:-a:顯示活躍和非活躍內(nèi)存;-f:顯示從系統(tǒng)啟動(dòng)至今的fork數(shù)量;-m:顯示slabinfo;-n:只在開始時(shí)顯示一次各字段名稱;-s:顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息及多種系統(tǒng)活動(dòng)數(shù)量;delay:刷新時(shí)間間隔,如果不指定,只顯示一條結(jié)果;count:刷新次數(shù),如果不指定刷新次數(shù),但指定了刷新時(shí)間間隔,這時(shí)刷新次數(shù)為無(wú)窮;-d:顯示磁盤相關(guān)統(tǒng)計(jì)信息;-p:顯示指定磁盤分區(qū)統(tǒng)計(jì)信息;-S:使用指定單位顯示,參數(shù)有 k 、K 、m 、M,分別代表1000、1024、1000000、1048576字節(jié)(byte),默認(rèn)單位為K;-V:顯示vmstat版本信息;使用
一般vmstat工具的使用是通過兩個(gè)數(shù)字參數(shù)來完成的,第一個(gè)參數(shù)是采樣的時(shí)間間隔,單位是秒;第二個(gè)參數(shù)是采樣的次數(shù)
如下所示,表示每隔1秒采樣,共采樣5次:
vmstat命令執(zhí)行結(jié)果共分為6部分:procs、memory、swap、io、system、cpu。
輸出內(nèi)容的含義如下:
procs ? #進(jìn)程
- r(run):表示運(yùn)行或等待CPU時(shí)間片的進(jìn)程數(shù),如果該值長(zhǎng)期大于服務(wù)器CPU的個(gè)數(shù),則說明CPU資源不足。一般負(fù)載超過了3就比較高,超過了5就高,超過了10就不正常了,服務(wù)器的狀態(tài)很危險(xiǎn);
- b(block):表示等待資源的進(jìn)程數(shù),這個(gè)資源指的是I/O、內(nèi)存等。比如,當(dāng)磁盤讀寫非常頻繁時(shí),寫數(shù)據(jù)就會(huì)變得很慢,此時(shí)CPU運(yùn)算很快就結(jié)束了,但進(jìn)程需要把計(jì)算的結(jié)果寫入磁盤,這樣進(jìn)程的任務(wù)才算完成,此時(shí)這個(gè)進(jìn)程只能慢慢地等待磁盤了,這個(gè)進(jìn)程就是這個(gè)b狀態(tài)。該數(shù)值如果長(zhǎng)時(shí)間大于1,則需要去查找問題;
memory ?#內(nèi)存,單位:KB
- swap:虛擬內(nèi)存(swap空間)已使用的大小;
- free:空閑的物理內(nèi)存的大小;
- buff:存放目錄里面有什么內(nèi)容,文件的屬性以及權(quán)限等;
- cache:用來記憶我們打開過的文件和程序,做文件緩沖(當(dāng)程序使用內(nèi)存時(shí),buff/cache很快就會(huì)被使用);
swap ? ?#swap空間,單位:KB,內(nèi)存夠用時(shí),si和so值都為0,如果這兩個(gè)值長(zhǎng)期大于0,表示內(nèi)存不夠用了,系統(tǒng)性能會(huì)受到影響
- si:表示從swap空間寫入內(nèi)存的數(shù)據(jù)量;
- so:表示從內(nèi)存寫入swap空間的數(shù)據(jù)庫(kù);
io ? ? ?#單位:塊/秒
- bi:每秒讀取的塊數(shù)(讀磁盤),現(xiàn)在的Linux版本塊的大小為1024bytes;
- bo:每秒寫入的塊數(shù)(寫磁盤);
system ?#系統(tǒng),這2個(gè)值越大,會(huì)看到由內(nèi)核消耗的CPU時(shí)間會(huì)越大
- in:每秒CPU的中斷次數(shù),包括時(shí)間中斷;
- cs:每秒上下文切換數(shù),例如我們調(diào)用系統(tǒng)函數(shù),就要進(jìn)行上下文切換,線程的切換,也要進(jìn)行上下文切換,這個(gè)值越小越好;
cpu ? ? #以百分比顯示
- us(user time):用戶進(jìn)程執(zhí)行時(shí)間;
- sy(system time):系統(tǒng)進(jìn)程執(zhí)行時(shí)間;
- id:空閑時(shí)間(包括IO等待時(shí)間);
- wa:等待IO時(shí)間,wa的值高時(shí),說明IO等待比較嚴(yán)重,這可能由于磁盤大量做隨機(jī)訪問造成的,也有可能是磁盤出現(xiàn)瓶頸;
- st:表示被偷走的CPU所占百分比(一般都為0,不用關(guān)注);
備注:us + sy + id + wa =100% ? ? #這個(gè)是只是近似值
總結(jié)
以上是生活随笔為你收集整理的Linux 监控命令之 vmstat的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业如何从0到1搭建BI系统
- 下一篇: java并查集找朋友圈_图—并查集(解决