linux性能调试之vmstat

linux性能监控调优工具vmstat:

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

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

重要字段解释:

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

b 表示阻塞的进程

swpd 虚拟内存已使用的大小

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

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

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

us 用户CPU时间。

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

id  空闲 CPU时间,一般来说,id + us + sy = 100。

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  阅读(150)  评论(0编辑  收藏  举报

导航