10.2-vmstat命令

命令 w 查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力。但它无法判断具体是哪里(CPU、内存、磁盘等)有压力,所以就用到了 vmstat。 vmstat 命令打印结果共分为 6 部分:procs、memory、swap、io、system 和 cpu。请重点关注下 r、b、si、so、bi、bo 这几列信息

vmstat 命令

[root@evan-01 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 743500   2108 139308    0    0   223    22  125  202  1  1 96  2  0
[root@evan-01 ~]#

vmstat 1 ,每隔 1 秒显示一次,动态显示,可以 ctrl+c 终止

[root@evan-01 ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 743500   2108 139340    0    0   189    18  119  184  0  1 97  2  0
 0  0      0 743484   2108 139340    0    0     0     0   90  100  0  0 100  0  0
 0  0      0 743484   2108 139340    0    0     0     0   84   88  0  0 100  0  0
 0  0      0 743484   2108 139340    0    0     0     0   77   84  1  0 99  0  0
 0  0      0 743484   2108 139340    0    0     0     0   87   91  0  0 100  0  0
 0  0      0 743484   2108 139340    0    0     0     0   82   85  0  1 99  0  0
 0  0      0 743484   2108 139340    0    0     0     0   88   90  0  0 100  0  0
^C
[root@evan-01 ~]# 

vmstat 1 5,每隔 1 秒显示一次,动态显示,5次后结束

[root@evan-01 ~]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 743500   2108 139340    0    0   182    18  117  180  0  1 97  2  0
 0  0      0 743484   2108 139340    0    0     0     0   52   50  0  0 100  0  0
 0  0      0 743484   2108 139340    0    0     0     0   38   35  0  0 100  0  0
 0  0      0 743484   2108 139340    0    0     0     0   50   41  0  1 99  0  0
 0  0      0 743484   2108 139340    0    0     0     0   50   52  0  0 100  0  0
[root@evan-01 ~]# 

procs 显示进程的相关信息
r (run)
表示运行或等待 CPU 时间片的进程数。大家不要误以为等待 CPU 时间片意味着这个进程没有运行,实际上某一时刻 1 个 CPU 只能有一个进程占用,其他进程只能排队等着,此时这些排队等待 CPU 资源的进程依然是运行状态。该数值如果长期大于服务器 CPU 的个数,则说明 CPU 资源不够用了。

b(block)
表示等待资源的进程数,这个资源指的是 I/O、内存等。举个例子,当磁盘读写非常频繁时,写数据就会非常慢,此时 CPU 运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待磁盘了,这样这个进程就是这个 b 状态。该数值如果长时间大于 1 ,则需要关注一下了。

memory 显示内存的相关信息
swpd
表示切换到交换分区中的内存数量,单位为 KB

free
表示当前空闲的内存数量,单位为 KB

buff
表示(即将写入磁盘的)缓冲大小,单位为 KB

cache
表示(从磁盘中读取的)缓存大小,单位为 KB

swap 显示内存的交换情况
si
表示由交换区写入内存的数据量,单位为 KB

so
表示由内存写入交换区的数据量,单位为 KB

io 显示磁盘的使用情况
bi
表示从块设备读取数据的量(读磁盘),单位为 KB

bo
表示从块设备写入数据的量(写磁盘),单位为 KB

system 显示采集间隔内发生的中断次数
in
表示在某一时间间隔内观测到的每秒设备的中断次数

cs
表示每秒产生的上下文切换次数

cpu 显示的 CPU 的使用状态
us
显示用户下所花费 CPU 的时间百分比

sy
显示系统花费 CPU 的时间百分比

id
表示 CPU 处于空闲状态的时间百分比

wa
表示 I/O 等待所占用 CPU 的时间百分比

st
表示被偷走的 CPU 所占百分比(一般都为 0,不用关注)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章