Linux中虛擬內(nèi)存查看命令vmstat的使用教程

vmstat是一個(gè)查看虛擬內(nèi)存使用狀況的工具,它可以看到服務(wù)器使用率,內(nèi)存使用,虛擬內(nèi)存交換情況,IO讀寫(xiě).相比top,可以看到整個(gè)機(jī)器的CPU,memory,IO的使用情況,而不是單單看到各個(gè)進(jìn)程各值的使用率.
默認(rèn)情況下,vmstat命令并沒(méi)有安裝,需要安裝sysstat包,該包里含有vmstat程序.
一般經(jīng)常使用的該命令后加2個(gè)數(shù)字參數(shù),第一個(gè)參數(shù)是采樣的時(shí)間間隔(秒),第二個(gè)參數(shù)是采樣的次數(shù).
基本參數(shù):
vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]
[-a]:顯示活躍和非活躍內(nèi)存
[-n]:只在開(kāi)始時(shí)顯示一次字段名,針對(duì)多次收集信息的情況輸出人性化一點(diǎn)
[-t]:在每條信息的末尾,顯示收集信息的時(shí)間
[-S unit]:使用指定單位顯示。參數(shù)有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(jié)(byte)。默認(rèn)單位為K(1024 bytes)
[delay [count]]:delay是信息收集間隔,count是信息收集的次數(shù)
vmstat [-s] [-n] [-S unit]
[-s]:顯示內(nèi)存相關(guān)的統(tǒng)計(jì)信息
vmstat [-m] [-n] [delay [ count]]
[-m]:顯示slabinfo,slabinfo信息記錄在/proc/slabinfo文件中。slab是linux的一個(gè)內(nèi)存分配機(jī)制。
vmstat [-d] [-n] [delay [ count]]
[-d]:顯示相關(guān)磁盤(pán)的統(tǒng)計(jì)信息
注:這個(gè)跟樓下-p的區(qū)別統(tǒng)計(jì)信息的不同、統(tǒng)計(jì)對(duì)象這個(gè)是磁盤(pán)-p是子分區(qū)、這個(gè)不能指定全部輸出
vmstat [-p disk partition] [-n] [delay [ count]]
[-p disk partition]:顯示磁盤(pán)子分區(qū)的統(tǒng)計(jì)信息,這里沒(méi)有iostat的信息那么有用
vmstat [-f]
[-f]:開(kāi)機(jī)啟動(dòng)至今的fork數(shù)量 注:這里的fork應(yīng)該是內(nèi)核的fork()函數(shù),在父進(jìn)程中,fork返回新創(chuàng)建子進(jìn)程的進(jìn)程ID
vmstat [-V]
[-V]:版本信息
示例
root@192.168.22.54:~# vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
13 0 0 542604 323512 12356052 0 0 0 2 0 0 17 18 65 0 0
42 0 0 552500 323512 12356112 0 0 0 0 18669 49903 42 45 14 0 0
72 0 0 563416 323512 12356132 0 0 0 0 18394 49895 41 43 16 0 0
73 0 0 570924 323512 12356164 0 0 0 0 19666 51678 37 41 22 0 0
13 0 0 581208 323512 12356204 0 0 0 280 18990 49541 43 43 15 0 0
18 0 0 587148 323512 12356228 0 0 0 32 19360 49203 37 39 24 0 0
27 0 0 520016 323512 12356292 0 0 0 0 20423 52865 39 40 21 0 0
18 0 0 527512 323512 12356336 0 0 0 0 19613 53052 42 43 16 0 0
23 0 0 538608 323512 12356376 0 0 0 0 18860 50645 41 42 18 0 0
80 0 0 548608 323512 12356444 0 0 0 0 19781 50917 41 42 17 0 0
根據(jù)以上實(shí)例,下面是字段說(shuō)明:
Procs(進(jìn)程)
r:表示運(yùn)行隊(duì)列的進(jìn)程數(shù)量,換句話說(shuō)就是多少個(gè)進(jìn)程真正分配到cpu.服務(wù)器配置cpu為8核,這里由于服務(wù)器運(yùn)行了大量的程序在跑,當(dāng)這個(gè)值超過(guò)了cpu數(shù)目,且id較小,就可能會(huì)出現(xiàn)cpu瓶頸.運(yùn)行隊(duì)列過(guò)大,表示cpu很繁忙,一般會(huì)造成cpu使用率過(guò)高.
b:等待io的進(jìn)程數(shù).
Memory
swpd:虛擬內(nèi)存使用情況,單位KB
free:空閑的內(nèi)存
buff:用作緩沖的內(nèi)存大小,內(nèi)存中的一部分,某程序代碼緩存,不可移到swap里去.
cache:用作緩存的內(nèi)存大小,數(shù)據(jù)緩存,允許交給swap
Swap
si:從磁盤(pán)交換到內(nèi)存的交換頁(yè)數(shù)量,每秒從磁盤(pán)讀入虛擬內(nèi)存的大小,如果這個(gè)值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露.
so:從內(nèi)存交換到磁盤(pán)的交換頁(yè)數(shù)量,每秒虛擬內(nèi)存寫(xiě)入磁盤(pán)的大小,如果這個(gè)值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露.
bi:Blocks received from a block device (blocks/s).每秒從塊設(shè)備接收到的塊數(shù),即讀塊設(shè)備。
bo:Blocks sent to a block device (blocks/s).每秒發(fā)送到塊設(shè)備的塊數(shù),即寫(xiě)塊設(shè)備。
System
in:每秒中斷數(shù),包括時(shí)鐘中斷.
cs:每秒上下文切換數(shù).這個(gè)值越小越好.比如每次調(diào)用系統(tǒng)函數(shù),線程的切換,代碼就會(huì)進(jìn)入內(nèi)核空間,導(dǎo)致上下文切換,次數(shù)過(guò)多表示cpu大部分浪費(fèi)在上下文切換,導(dǎo)致cpu沒(méi)有充分利用.
CPU(以百分比表示)
us:用戶(hù)進(jìn)程執(zhí)行的時(shí)間,用戶(hù)cpu使用率,操作運(yùn)算等.
sy:系統(tǒng)進(jìn)程執(zhí)行的時(shí)間,系統(tǒng)cpu使用率,讀取硬盤(pán),操作硬件等.
id:空閑時(shí)間(包括IO等待時(shí)間)
wa:等待IO時(shí)間
相關(guān)文章
Win7如何增加虛擬內(nèi)存?Win7增加虛擬內(nèi)存的方法
虛擬內(nèi)存可以彌補(bǔ)系統(tǒng)內(nèi)存的不足,相當(dāng)于把硬盤(pán)的一部分空間拿來(lái)當(dāng)內(nèi)存用,那么Win7如何增加虛擬內(nèi)存?本文就給大家?guī)?lái)Win7增加虛擬內(nèi)存的方法,一起來(lái)看看吧2016-08-23Win10虛擬內(nèi)存如何關(guān)閉?Win10關(guān)閉虛擬內(nèi)存的方法
禁用虛擬內(nèi)存可以提高系統(tǒng)運(yùn)行速度,那么Win10虛擬內(nèi)存如何關(guān)閉?下面小編就給大家?guī)?lái)Win10關(guān)閉虛擬內(nèi)存的方法,一起來(lái)看看吧2016-07-19Win10怎么調(diào)節(jié)虛擬內(nèi)存大小? Win10虛擬內(nèi)存調(diào)整的技巧
Win10怎么調(diào)節(jié)虛擬內(nèi)存大小?使用win10系統(tǒng)的時(shí)候,發(fā)現(xiàn)電腦運(yùn)行很慢,這時(shí)候我們就可以來(lái)設(shè)置一下虛擬內(nèi)存,該怎么調(diào)節(jié)呢?今天我們就來(lái)看看Win10虛擬內(nèi)存調(diào)整的技巧2016-05-18win10怎么優(yōu)化虛擬內(nèi)存? win10虛擬內(nèi)存的設(shè)置技巧
win10怎么優(yōu)化虛擬內(nèi)存?win10系統(tǒng)運(yùn)行變慢,C盤(pán)不夠用,使用了各種優(yōu)化方法,最后C盤(pán)并沒(méi)有釋放多少進(jìn)空間, 于是想在虛擬內(nèi)存上下功夫,下面我們來(lái)看看win10虛擬內(nèi)存的設(shè)2016-03-17詳解Linux中監(jiān)控CPU與虛擬內(nèi)存運(yùn)行信息的命令用法
這篇文章主要介紹了詳解Linux中監(jiān)控CPU與內(nèi)存運(yùn)行信息的命令用法,分別講解了mpstat和vmstat命令的使用實(shí)例,需要的朋友可以參考下2016-03-04Win8系統(tǒng)怎么修改虛擬內(nèi)存大小?Win8系統(tǒng)修改虛擬內(nèi)存大小的方法
Win8系統(tǒng)怎么修改虛擬內(nèi)存大???Win8系統(tǒng)虛擬內(nèi)存是非常好用的功能,在不添加內(nèi)存條的情況下,可以增大內(nèi)存容量,下面小編就給大家?guī)?lái)Win8系統(tǒng)修改虛擬內(nèi)存大小的方法,一2016-02-02Win7操作系統(tǒng)在哪里設(shè)置虛擬內(nèi)存?怎么設(shè)置虛擬內(nèi)存?
程序在運(yùn)行時(shí),會(huì)被全部裝入內(nèi)存然后才會(huì)真正被執(zhí)行,但當(dāng)程序被加載所需要的內(nèi)存大于實(shí)際物理內(nèi)存時(shí),就需要虛擬內(nèi)存來(lái)加載整個(gè)程序以完成執(zhí)行過(guò)程。因此很有必要將虛擬內(nèi)2015-12-14Windows 2008 關(guān)閉系統(tǒng)虛擬內(nèi)存功能 如何刪除pagefile.sys
這篇文章主要介紹了Windows 2008 關(guān)閉系統(tǒng)虛擬內(nèi)存功能 如何刪除pagefile.sys,需要的朋友可以參考下2015-08-30優(yōu)化Win10虛擬內(nèi)存使用:英偉達(dá)GF 355.80熱修復(fù)驅(qū)動(dòng)以及下載
英偉達(dá)發(fā)布了GeForce系列Win10版熱修復(fù)驅(qū)動(dòng),修復(fù)了Windows10系統(tǒng)下配置SLI時(shí)虛擬內(nèi)存占用過(guò)度的問(wèn)題。本文將提供更多內(nèi)容介紹以及下載2015-08-26Win10提示虛擬內(nèi)存不足怎么辦?Win10設(shè)置虛擬內(nèi)存的方法
Win10提示虛擬內(nèi)存不足怎么辦?下面腳本之家小編就給大家?guī)?lái)Win10設(shè)置虛擬內(nèi)存的方法,希望可以幫助到大家2015-08-23