linux vmstat命令详解
4858 点击·1 回帖
![]() | ![]() | |
![]() | linux vmstat命令详解 mstat命令用来获得有关进程、虚存、页面交换空间及 cpu活动的信息。这些信息反映了系统的负载情况。 输出项 类别 项目 含义 说明 Procs r 等待执行的任务数 展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了 b Memory swpd 正在使用的swap大小单位K free 空闲的内存空间 buff 已使用的buff大小,对块设备的读写进行缓冲 cache 已使用的cache大小,文件系统的cache inact www.atcpu.com active Swap si 交换内存使用,由磁盘调入内存 so 交换内存使用,由内存调入磁盘 IO bi 从块设备读入的数据总量(读磁盘) (KB/s), bo 写入到块设备的数据总理(写磁盘) (KB/s) System in 每秒产生的中断次数 cs 每秒产生的上下文切换次数 上面这2个值越大,会看到由内核消耗的CPU时间会越多 CPU us 用户进程消耗的CPU时间百分比 us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了 sy 内核进程消耗的CPU时间百分比 sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。 id 空闲 wa IO等待消耗的CPU时间百分比 wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。 命令比较简单,但涉及到的内存、磁盘、cpu之间的关系还是挺复杂的,需要进一步学习相关的knowledge。 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。通常使用vmstat 5 5(表示delay5s 然后计数5次)命令测试。将得到一个数据汇总他能够反映真正的系统情况。 #vmstat 5 5 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 62792 3460 9116 88092 6 30 189 89 1061 569 17 28 54 2 0 0 62792 3400 9124 88092 0 00 14 884 434 4 14 81 0 0 0 62792 3400 9132 88092 0 00 14 877 424 4 15 81 0 1 0 62792 3400 9140 88092 0 00 14 868 418 6 20 74 0 1 0 62792 3400 9148 88092 0 00 15 847 400 9 25 67 0 Linux 内存监控vmstat命令输出分成六个部分: www.atcpu.com (1)进程procs: r:在运行队列中等待的进程数 。 b:在等待io的进程数 。 (2)Linux 内存监控内存memoy: swpd:现时可用的交换内存(单位KB)。 free:空闲的内存(单位KB)。 buff: 缓冲去中的内存数(单位:KB)。 cache:被用来做为高速缓存的内存数(单位:KB)。 (3) Linux 内存监控swap交换页面 si: 从磁盘交换到内存的交换页数量,单位:KB/秒。 so: 从内存交换到磁盘的交换页数量,单位:KB/秒。 (4)Linux 内存监控 io块设备: bi: 发送到块设备的块数,单位:块/秒。 bo: 从块设备接收到的块数,单位:块/秒。 (5)Linux 内存监控system系统: in: 每秒的中断数,包括时钟中断。 cs: 每秒的环境(上下文)转换次数。 www.atcpu.com (6)Linux 内存监控cpu中央处理器: cs:用户进程使用的时间 。以百分比表示。 sy:系统进程使用的时间。 以百分比表示。 id:中央处理器的空闲时间 。以百分比表示。 假如 r经常大于 4 ,且id经常小于40,表示中央处理器的负荷很重。 假如bi,bo 长期不等于0,表示物理内存容量太小。 | |
![]() | ![]() |