linux 监测命令(vmstat)


linux 监测命令(vmstat)

命令格式:

vmstat [-a] [-n] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

vmstat [-V]

命令功能:

用来显示虚拟内存的信息

命令参数:

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息。


[root@smsplatform01 ~]# vmstat 2 8
procs           -----------memory---------- -     --swap--  -----io---- --system--     -----cpu-----
 r  b    swpd   free        buff     cache      si    so    bi    bo   in     cs    us  sy id   wa st
 0  0      0 21928380 471140 9757520    0    0     0     6    9      12   0  0 100  0  0
 0  0      0 21928388 471140 9757524    0    0     2    60 1091 2099  0  0 100  0  0
 0  0      0 21928372 471140 9757524    0    0     0    58 1067 2085  0  0 100  0  0
 0  0      0 21928240 471140 9757524    0    0     0    60 1083 2104  0  0 100  0  0
 0  0      0 21928224 471144 9757524    0    0     0    64 1079 2100  0  0 100  0  0
 1  0      0 21928224 471144 9757528    0    0     2    52 1081 2092  0  0 100  0  0
 0  0      0 21921000 471144 9757528    0    0     6    80 1188 2162  0  0 99    0  0
 1  0      0 21920628 471144 9757548    0    0     0    74 1094 2110  0  0 100  0  0

Linux 内存监控vmstat命令输出分成六个部分:


(1)进程procs:
r:在运行队列中等待的进程数 。当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,
服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。
b:在等待io的进程数 。 当这个一值很高说明I/O等待严重。


(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: 每秒的环境(上下文)转换次数。


(6)Linux 内存监控cpu中央处理器:
cs:用户进程使用的时间 。以百分比表示。  如果在使用大于40%,那么我们就该考虑优化程
sy:系统进程使用的时间。 以百分比表示。  如果在使用超过40%,那么我们就该考虑操作系统BUG或者被公交等等.....
id:中央处理器的空闲时间 如果长期超过50% 如果在使用超过40%,那么我们就该考虑优化程序算法或者添加CPU

wa:IO等待消耗的CPU时间百分比 wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。

假如 r经常大于 4 ,且id经常小于40,表示中央处理器的负荷很重。 假如bi,bo 长期不等于0,表示物理内存容量太小

总结:用这个命令收集信息,可以帮助我们分析出来服务器是I/O问题,还是CPU问题,很管用命令。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。