原创

Linux 系统 vmstat 命令各参数含义详解

        vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和,它是最常用的Linux/Unix监控工具。


一般使用vmstat工具是通过两个数字参数来完成的,第一个参数是采样的时间间隔数(单位是秒),第二个参数是采样的次数,样本数据例如:

[root@iZ256w2hluuZ ~]# vmstat 2 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0  61752  31468  51092    0    0    12     4  159  403  0  0 99  0  0


在实际应用过程中,我们需要监听一段时间内的服务器状态值,样本数据例如:

[root@iZ256w2hluuZ ~]# 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
 1  0      0  72940  28156  42476    0    0    12     4  159  403  0  0 99  0  0
 0  0      0  72940  28156  42476    0    0     0     0  154  396  0  0 100  0  0
 0  0      0  72940  28156  42476    0    0     0    26  159  403  0  0 100  0  0
 0  0      0  72940  28156  42476    0    0     0     0  157  391  1  1 99  0  0
 0  0      0  72940  28156  42476    0    0     0     0  154  400  1  0 100  0  0
 0  0      0  72940  28156  42476    0    0     0     0  155  396  1  0 99  0  0
 0  0      0  72940  28156  42476    0    0     0     0  151  393  0  0 100  0  0

上述表示vmstat每2秒采集数据一次,直到我结束程序。


vmstat 命令各个参数的含义如下:

kthr:内核线程状态在采样间隔期间每秒钟更改一次。

r :表示运行队列,置于运行队列中的内核线程数目。

b :表示阻塞的进程,置于等待队列(等待资源、等待输入/输出)的内核线程数目。

swpd :虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。

free :空闲的物理内存的大小,大部分实内存都用作文件系统数据的高速缓存。对于保持较小的空闲列表,是很正常的。

buff :Linux/Unix系统是用来存储,目录里面有权限等的缓存,本人的机器大概占用30多M

cache :直接用来记忆我们打开的文件,给文件做缓冲,本人的机器大概占用40多M

si :每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。

so :每秒虚拟内存写入磁盘的大小,如果这个值大于0

bi :块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte

bo :块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整

in :设备中断,每秒CPU的中断次数,包含时间中断

cs :内核线程上下文切换

us :用户时间,用户CPU使用率

sy :系统CPU时间,系统使用率,如果过高,表示系统调用时间长,IO等操作过于频繁

id :CPU 空闲时间,一般来说,id + us + sy = 100 ,一般认为id是空闲CPU使用率

re :页面调度程序输入/输出列表。

pi :从调页空间调度进的页面

po: 调出到调页空间的页面

fr :释放的页(页面替换)

sr: 通过页替换算法扫描的页面

cy :按页替换算法的时钟周期

故障:采样间隔平均每秒的捕获和中断率

Cpu:CPU 使用时间故障百分比

wa :CPU 空闲时间,在此期间系统有未完成的磁盘/NFS I/O 请求。请参阅上面的详细描述

内存:关于使用虚拟内存和实内存的信息。如果虚拟页已经被访问的话,虚拟页可以被认为是活动的。一页为 4096 个字节。

avm: 活动虚拟页

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

相关推荐

评论

分享:

支付宝

微信