vmstat是一款功能十分强大的linux系统监控工具,可以通过该软件来监控进程,内存,CPU,IO。下面通过实例来对vmstat的统计结果进行分析。
[root@192 ~]# vmstat 1 5
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 135248
56136 135956
766208
0
0
3
10
1
1 1 0 99
0 0
0 0 135248
56136 135956
766228
0
0
0
0 1095 1466 5 0
96 0 0
0 0 135248
56136 135956
766272
0
0
0
0 1079 1001 0 0
100 0 0
1 0 135248
56136 135956
766272
0
0
0 48 1100
1743 13 0 86
0 0
0 0 135248
56136 135956
766272
0
0
0
0 1077 1480 4 0
96 0 0
各字段的解释如下:
r 队列中运行或等待cpu时间片的进程数。每个处理器运行队列不超过3个线程。
b 等待资源的进程数。如IO资源或内存交换
swpd
当前虚拟内存使用情况。空闲内存达到最低阀值时,更多的数据被转换成页到交换设备中。
free
当前空闲内存。有时free很低或接近0,如果si,so很少或不是频繁出现,也可以断定内存不是瓶颈。
buff 当前内存中用于read() and write()操作的缓冲区大小
cache 当前内存中映射到进程地址空间的字节数
si 从交换空间写入内存的页数
so 从内存写入交换空间的页数
bi 从块设备写入内存的总额
bo 从内存写入块设备的总额
in 每秒中断数
cs
每秒上下文切换数。在进行上下文切换是会耗费cpu资源。因为要涉及到进程的上下文寄存和加载。有时会出现cs很大,但cpu负载并不高的情况可能是由于
应用程序内设置了进程优先级,导致cpu时间片不停的被不同的进程抢走。以下三种情况都会产生cs。1、等待资源,请求sleep等待资源解锁。2、有优
先级高的进程请求cpu时间片。3、当前进程用完cpu时间片。
us 用户进程占用cpu时间,该值一般在60%-70%。
sy 系统进程占用cpu时间。该值一般在30%
id CPU空闲率。该值在5%上下说明cpu得到了充分的利用
wa 所有可运行状态线程被阻塞,等待IO请求的百分比。当出现IO瓶颈时该值会比较高。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27181165/viewspace-775770/
,如需转载,请注明出处,否则将追究法律责任。