linux系统监控指令之vmstat

Posted Linux日记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统监控指令之vmstat相关的知识,希望对你有一定的参考价值。

linux系统监控指令vmstat

vmstat指令是linux系统常用的监控指令,它能实时地检测系统cpu,内存,io等运行状态

1.vmstat :vmstat命令可以对操作系统的内存信息,进程状态,CPU活动等进行监视。
vmstat有几个参数: -V :表示打印出版本信息。
-n:表示在周期性输出时,输出头部信息只显示一次。
delay:表示依次输出之间的时间间隔。
count:表示按照 delay 的时间间隔 统计的次数,常和delay配合使用,比如 vmstat  2  3 表示每隔2秒更新输出一次,输出3次后结束指令。

下面看一下输出内容:

  • procs

r: 字段表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数说明CPU不足,需要增加CPU。
b: 表示等待资源的进程数,比如正在等待I/O或者内存交换等

  • memory

swap:如果swap的值不为0,或者比较大,只要si和so的值长期为0,这种情况一般不用担心,不会影响系统性能。
free:表示当前物理内存空闲的内存,单位为KB。
buff:表示buffers cache的内存数量  。
cache:表示文件缓存大小,如果cache值较大,说明缓存文件数比较多,如果这个时候io中的bi比较小,说明系统效率良好。

  • swap

si:表示由磁盘调入内存,也就是内存进入内存交换区的大小。
so:表示由内存调入磁盘,也就是由内存交换区进入内存的大小。
一般情况下,si,so的都为0,如果si,so的值长期不为0,表示系统内存不足,需要加大内存了。

  • io

bi:表示从块设备读入数据的总量(即读磁盘)单位为Kb/S
bo:表示写到块设备的数据总量(即写磁盘)单位为Kb/s
如果bi和bo的值过大并且wa的值也较大,则表示系统磁盘I/O有问题,应该考虑提高磁盘读写能力。

  • system

in:表示在某一时间间隔内观测到的每秒设备中断数。
cs:表示每秒产生的上下文切换次数。
上面两个值越大,由内核消耗的cpu时间越多。

  • cpu 段显示了CPU使用状态,是需要重点关注的

us:表示用户进程消耗的CPU时间百分比。us的值比较高时,说明用户进程消耗CPU时间多,但是如果长期大于50%,就需要考虑优化程序了
sy:表示内核进程消耗的CPU时间百分比,sy的值较高时,说明内核消耗的CPU资源很多
id:表示CPU处于空闲状态的百分比

总结上面的内容,通常需要重点观测 procs中的 r 列的值和CPU中的 us,sy,id列的值。
下面对比一下系统繁忙状态时的监控



以上是关于linux系统监控指令之vmstat的主要内容,如果未能解决你的问题,请参考以下文章

linux 系统监控

linux常用命令:vmstat 命令

vmstat和iostat命令进行Linux性能监控

每天一个linux命令(36)--vmstat命令

(转)每天一个linux命令(46):vmstat命令

linux vmstat(虚拟内存统计)