vmstat用法

2020-09-06  本文已影响0人  欧耶90
  1. vmstat 3
    每间隔3s输出一次结果,持续输出
  2. vmstat 3 4
    每间隔3s输出一次结果,一共输出4次结果
  3. vmstat输出结果表示的意义
[root@test03 ~]# vmstat 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1205212   2108 122444    0    0     2     1   27   44  0  0 100  0  0

进程相关:
r,表示运行队列的使用和等待cpu的进程数
b, io队列中的进程数量

内存相关:
swpd, 使用swap交换分区的空间,单位KB
free, 空闲的内存空间,单位KB
buff, 读写块设备的缓冲空间,单位KB
cache,文件读写缓存,单位KB,当应用使用内存时buff何cache会被快速回收为内存

swap相关:
si, 每秒从交换分区写入内存的数据量,单位每秒KB
so, 每秒从内存写入交换分区的数据量,单位每秒KB

IO相关:
bi,每秒从块设备读取的块数
bo,每秒写入块设备的块数

系统相关:
in,每秒中断数,包括时钟中断
cs,每秒上下文切换数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目,例如在apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程数就是比较合适的值了。系统调用也是,每次调用系统函数,我们的代码就会进入内核空间,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的

CPU相关:
cs,用户进程执行时间
sy,系统进程执行时间
id,cpu的空闲时间
wa,cpu等待io的时间

上一篇 下一篇

猜你喜欢

热点阅读