linux性能监控调优工具vmstat:

vmstat:用于监控、显示系统运行过程中的虚拟内存/CPU/磁盘状态。

简单示例(时间间隔2s,监控2次):

重要字段解释:

r 表示运行队列(等待运行的进程数)

b 表示阻塞的进程

swpd 虚拟内存已使用的大小

free   空闲的物理内存的大小,我的机器内存总共8G,剩余3415M。

in 每秒CPU的中断次数,包括时间中断

cs 每秒上下文切换次数,比如系统调用,线程的切换。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。

us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在做压力测试,性能表现不佳)。

sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

id  空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。

wt 等待IO CPU时间。

典型的问题现象:

1.CPU问题

a.procs.r持续有值,且大于系统CPU数量,则认为系统不足以支撑当前的负载(因为一直有进程在等待运行),可能是软件实现问题或者需要升级硬件系统

b.cpu.id持续为0,表示CPU持续忙,需要根据cpu.sy,cpu.us继续查找原因

c.cpu.sy,cpu.us持续高,且cpu.sy大于cpu.us表示系统频繁在内核态执行,可能存在频繁的或较多的系统调用或者IO访问

 2.内存问题

a.memory.swpd数值持续有值,说明使用了虚拟内存,

 

posted on 2018-03-24 12:32 llc_no1 阅读() 评论() 编辑 收藏

版权声明:本文为llc-blog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/llc-blog/p/8638431.html