1、Linux vmstat命令详解:监控系统资源
vmstat命令,是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息。
每1秒监控一次系统资源,监控200次
procs:进程信息 r代表 等待运行的进程数码,越大系统越忙,b不可被唤醒的进程数,越大系统越忙
swap: 交换分区信息字段,si从磁盘交换到内存的数据 so 从内存交换到磁盘数据,两个值越大代表磁盘和内存经常交换数据,性能差
io:磁盘读写信息字段,bi从块设备读入到数据,bo写入到块设备数据,值越大代表系统繁忙
memory:内存信息字段,swpd 虚拟内存使用情况 ,free空闲的内存 ,buff 缓冲区内存,cache缓存的内存 单位都为kb
system:in每秒被中断的进程次数,cs每秒进行的事件切换次数,这2个值越大代表系统与接口设备的通信繁忙
cpu:us 非内核进程消耗cpu时间百分比
sy 内核进程消耗cpu时间百分比
id 空闲cpu百分比
wa 等待io所消耗时间百分比
st被虚拟机被盗用cpu百分
2、磁盘io监控 iostat -x 1 10
w_await 每个写平均需要的时间单位毫秒
svctm 每次设备io操作的服务时间 单位毫秒
如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长, 系统上运行的应用程序将变慢
%util 在统计时间内所有处理io的时间除以总共处理时间
例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了,注意:当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈
I/O瓶颈 如果%iowait的值过高,表示硬盘存在I/O瓶颈
内存不足 %idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU在等待分配内存,此时应加大内存容量
CPU资源不足 如果%idle值持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU
3、CPU负载监控 mpstat -P ALL 3 2
查看所有cpu的信息,3秒刷新一次,查看2批
ALL 改成指定的数字 就是查看单个cpu的信息