vmstat是一个查看虚拟内存使用状况的工具,它可以看到服务器使用率,内存使用,虚拟内存交换情况,IO读写.相比top,可以看到整个机器的CPU,memory,IO的使用情况,而不是单单看到各个进程各值的使用率.

默认情况下,vmstat命令并没有安装,需要安装sysstat包,该包里含有vmstat程序.

一般经常使用的该命令后加2个数字参数,第一个参数是采样的时间间隔(秒),第二个参数是采样的次数.

基本参数:

vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]
 
[-a]:显示活跃和非活跃内存
 
[-n]:只在开始时显示一次字段名,针对多次收集信息的情况输出人性化一点
 
[-t]:在每条信息的末尾,显示收集信息的时间
 
[-S unit]:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
 
[delay [count]]:delay是信息收集间隔,count是信息收集的次数

vmstat [-s] [-n] [-S unit]
 
[-s]:显示内存相关的统计信息
 
vmstat [-m] [-n] [delay [ count]]
 
[-m]:显示slabinfo,slabinfo信息记录在/proc/slabinfo文件中。slab是linux的一个内存分配机制。
 
vmstat [-d] [-n] [delay [ count]]
 
[-d]:显示相关磁盘的统计信息  
注:这个跟楼下-p的区别统计信息的不同、统计对象这个是磁盘-p是子分区、这个不能指定全部输出

vmstat [-p disk partition] [-n] [delay [ count]]
 [-p disk partition]:显示磁盘子分区的统计信息,这里没有iostat的信息那么有用

vmstat [-f]
 [-f]:开机启动至今的fork数量            注:这里的fork应该是内核的fork()函数,在父进程中,fork返回新创建子进程的进程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

根据以上实例,下面是字段说明:
Procs(进程)

r:表示运行队列的进程数量,换句话说就是多少个进程真正分配到cpu.服务器配置cpu为8核,这里由于服务器运行了大量的程序在跑,当这个值超过了cpu数目,且id较小,就可能会出现cpu瓶颈.运行队列过大,表示cpu很繁忙,一般会造成cpu使用率过高.

b:等待io的进程数.

Memory

swpd:虚拟内存使用情况,单位KB

free:空闲的内存

buff:用作缓冲的内存大小,内存中的一部分,某程序代码缓存,不可移到swap里去.

cache:用作缓存的内存大小,数据缓存,允许交给swap

Swap

si:从磁盘交换到内存的交换页数量,每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露.

so:从内存交换到磁盘的交换页数量,每秒虚拟内存写入磁盘的大小,如果这个值大于0,表示物理内存不够用或者内存泄露.

bi:Blocks received from a block device (blocks/s).每秒从块设备接收到的块数,即读块设备。

bo:Blocks sent to a block device (blocks/s).每秒发送到块设备的块数,即写块设备。

System

in:每秒中断数,包括时钟中断.

cs:每秒上下文切换数.这个值越小越好.比如每次调用系统函数,线程的切换,代码就会进入内核空间,导致上下文切换,次数过多表示cpu大部分浪费在上下文切换,导致cpu没有充分利用.

CPU(以百分比表示)

us:用户进程执行的时间,用户cpu使用率,操作运算等.

sy:系统进程执行的时间,系统cpu使用率,读取硬盘,操作硬件等.

id:空闲时间(包括IO等待时间)

wa:等待IO时间


广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。