品牌网站建设源码,库房出入库管理软件,制作网站可用性监控,企业网站建设预算文章目录 一、前言二、使用说明2.1 vmstat [delay/count/d/D/t/w]2.2.vm模式的字段 一、前言
vmstat(VirtualMeomoryStatistics#xff0c;虚拟内存统计)是一个不错的 Linux/Unix 监控工具#xff0c;在性能测试中除了top外也是比较常用的工具之一#xff0c;它可以监控操作… 文章目录 一、前言二、使用说明2.1 vmstat [delay/count/d/D/t/w]2.2.vm模式的字段 一、前言
vmstat(VirtualMeomoryStatistics虚拟内存统计)是一个不错的 Linux/Unix 监控工具在性能测试中除了top外也是比较常用的工具之一它可以监控操作系统的 CPU 使用率内存使用情况虚拟内存交换情况以及IO读写情况。与 top 相比各有千秋吧。
二、使用说明
也是根据 vmstat 自带的说明进行整理说明那就是 ”man vmstat“ 我们会看到下面图上的信息 为了方便理解与查看在此整理成了一个导图结构。 我们一层一层来解读吧。在解读之前先看一下下面的图更容易理解每个选项的意思及字段的含义
2.1 vmstat [delay/count/d/D/t/w]
选项: delay: 刷新时间间隔单位是秒。如果没有指定只显示一条结果。例如实例图上的2即时间间隔2秒刷新一次。 count: 刷新次数。例如图上的3即输入刷新打印3次结果如果没有指定刷新次数但指定了刷新时间间隔这时刷新次数就是不限制一直刷新直到手动停止。 -d磁盘 reads【 or writes】 total成功完成的总读取数 merged分组读取【或写入】产生一个 I/O sectors扇区读取【或写入】成功 ms阅读【或写入】花费的毫秒数 IO cur正在进行的 I/OsecI/O 花费的秒数 -D–磁盘总和 -t –时间戳将时间戳附加到每一行 -w –宽 宽输出模式输出宽度大于80每行字符。使用这个输出的结果比较列效果好看一些要不数据多的时候眼睛都要看花了很容易看错。两个可以对比一下没有使用前的输出效果。 -S: 显示单位。默认值是K1024bytes参数有k,K,m,M分别代表1000102410000001048576字节(byte) -V版本信息
2.2.vm模式的字段 procs(过程): r: 可运行进程数(正在运行或等待运行时), 也就是说有真正分配给cpu的进程如果r值大于cpu核数出现cpu负载就会有可能出现cpu瓶颈。b:阻塞等待I/O完成的进程数当b大于0时出现阻塞一旦出现阻塞的话tps就不会很大这个可以使用工具sar来查看tps实时值。sar具体使用说明参看”linux基础知识-sar详解“。 memory(内存默认单位: kb) swpd: 使用的交换内存量当swpd值大于0时说明服务器的物理内存不足需要查看程序是否存在内存泄漏如果确定不是的话需要增加服务器的物理内存。free: 空闲内存量buff: 用作缓冲区的内存量cache: 活动内存的数量 swap(交换单位kb/秒) si(kb/秒): 从磁盘交换到内存的交换页数量(kb/秒)如果si值大于0,则表示物理内存不足或是内存泄漏。so(kb/秒): 从内存交换到磁盘的交换页数据(kb/秒)与si值一样如果so值大于0则表示物理内存不足或是内存泄漏。 io(输入输出,单位块/秒) bi(块/秒): 从块设备接收到的Kib byteKiB/sbo(块/秒): 发送到块设备的Kib byte(KiB/s) system(系统) in: 每秒的中断次数包括时钟cs: 每秒上下文切换的次数如调用系统函数或是线程切换等都会引起上下文切换。所以这个值越小越好如果过大则表示cpu大部分时间都在做上下文切换调度上从而就没有多少时间去处理其他事件浪费cpu资源所以当cs过大时需要进行注意尽量要考虑到调低线程或进程的数目。
注解 上下文切换通过CPU时间轮询的方法Linux能够支持多任务同时运行。对于普通的CPU,内核会调试和执行这些进程每个进程都会被分配CPU时间片并运行。当一个进程用完时间片或者被更高优先级进程抢占时间块后它会被转到CPU的等待运行队列中同时让其他进程在CPU上运行。这个进程切换的过程被称为上下文切换。过多的上下文切换会造成系统的很大的开销。 cpu(中央处理器单位%) us(%): 运行非内核代码所使用的cpu用户时间包括nice timesy(%): 运行内核代码所使用的cpu系统时间sy值大时需要确认IO的频繁操作是否属于正常现象。id(%): 空闲使用的cpuwa(%): 等待IO所使用的cpu如果wa值过高则说明io等待比较严重这可能是由于磁盘大量随机访问造成的可有可能是磁盘的带宽出现了瓶颈。需要使用sar工具进一步确认。st(%): 从虚拟机窃取所使用的cpugu: 运行KVM guest代码所使用的cpu(guest time ,包括guest nice)