快捷搜索:  汽车  科技

linux cpu使用率命令(CPU监控命令之vmstat命令)

linux cpu使用率命令(CPU监控命令之vmstat命令)vmstat [-f] vmstat [-p disk partitIOn] [-n] [delay [ count]] vmstat [-s] [-n] [-S unit] vmstat [-m] [-n] [delay [ count]] vmstat [-d] [-n] [delay [ count]]

linux cpu使用率命令(CPU监控命令之vmstat命令)(1)

linux cpu使用率命令(CPU监控命令之vmstat命令)(2)

CPU监控命令之vmstat命令

1概述:

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat工具提供了一种低开销的系统性能观察方式。因为vmstat本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat输出结果。

2常用命令格式:

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]

3命令参数:

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息。

4使用实例:

01

实例1:显示进程信息:

命令:

vmstat

输出:

linux cpu使用率命令(CPU监控命令之vmstat命令)(3)

说明:

procs:

r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。

b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

memory:

swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常

free 当前的空闲页面列表中内存数量(k表示)

buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。

cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

swap:

si 由内存进入内存交换区数量

so由内存交换区进入内存数量。

IO:

bi 从块设备读入数据的总量(读磁盘)(每秒kb)

bo 块设备写入数据的总量(写磁盘)(每秒kb)

这里我们设置的bi bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

system 显示采集间隔内发生的中断数:

in 列表示在某一时间间隔中观测到的每秒设备中断数。

cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

cpu 表示cpu的使用状态:

us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。

sy 列显示了内核进程所花费的cpu时间的百分比。这里us sy的参考值为80%,如果us sy 大于 80%说明可能存在CPU不足。

id 列显示了cpu处在空闲状态的时间百分比

wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。

02

实例2:每2秒采集一次

命令:

vmstat 2

输出:

linux cpu使用率命令(CPU监控命令之vmstat命令)(4)

这表示vmstat每2秒采集数据,一直采集,直到我结束程序,这里采集了4次数据我就结束了程序。

03

实例3:显示时间戳

命令:

vmstat -t

输出:

linux cpu使用率命令(CPU监控命令之vmstat命令)(5)

使用-t参数可以在输出信息的每一行显示一个时间戳。某些版本可能不支持该参数。

猜您喜欢: