命令vmstat查看系统负载

来源:互联网 发布:气动快速接头 淘宝 编辑:程序博客网 时间:2024/06/02 05:51

前言

命令w查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力。当它无法判断具体是哪里(CPU,内存,磁盘等)有压力,所以这就用到了vmstat。

命令vmstat用法

  • 静态显示内存状态一次。
[root@localhost ~]# vmstatprocs -----------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 697884    948 175948    0    0    18     2   49   83  0  0 99  0  0

  • vmstat [n] 在此n代表数字,意思是每隔n秒输出一次状态(按Ctrl+c结束命令)。
[root@localhost ~]# vmstat 1    //如果不Ctrl+c每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 697756    948 175968    0    0    17     2   48   82  0  0 100  0  0 0  0      0 697756    948 175968    0    0     0     0   28   43  0  0 100  0  0

  • vmstat [n][m] 这里的n表示每隔n秒输出一次状态,m表示动态显示的次数;
[root@localhost ~]# vmstat 1 5procs -----------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 697764    948 175960    0    0    17     2   48   81  0  0 100  0  0 0  0      0 697764    948 175960    0    0     0     0   33   56  0  0 100  0  0 0  0      0 697764    948 175960    0    0     0     0   28   33  0  1 99  0  0 0  0      0 697764    948 175960    0    0     0     0   25   35  0  0 100  0  0 0  0      0 697764    948 175960    0    0     0     0   25   32  0  0 100  0  0

说明:

proc 显示进程相关信息

  • r:=run,表示运行中或等待cpu运行的进程数,如果该数长期大于服务器CPU个数,则说明CPU不够用了;
  • b: =block ,表示等待资源的进程数,如,等待I/O,内存等,这列的值如果长时间大于1,则需要关注一下;

memory 内存相关信息

  • swpd:表示切换到交换分区的内存量(当该数据不断变化时说明内存不足);
  • free:表示当前空闲的内存量;
  • buff:缓冲大小;
  • cache:缓存大小;

swap 内存交换情况

  • si:=storage in,表示交换区写入到内存的数据量;
  • so:=storage out,表示由内存写入到交换区的数据量;

io 磁盘使用情况

  • bi:=block in,表示从块设备读取数据(写入内存)的量(即:读磁盘),单位为KB;
  • bo:=block out,表示(从内存读取)写入到块设备的数据(即:写磁盘),单位为KB;
    注: 此处数据会直接关系到proc出的b的值。

system 显示采集间隔内发生的中断次数

  • in:表示在某一时间间隔中观测到的每秒设备中断数;
  • cs:表示每秒产生的上下文切换次数;

CPU 显示CPU的使用状态(us+sy+id=100%)

  • us:表示用户资源所花费CPU的百分比(当该值长时间>50时说明CPU数量不足);
  • sy:表示系统资源所花费CPU的百分比;
  • id:表示CPU处于空闲状态的百分比;
  • wa:=wait,表示等待使用CPU的百分比(该数值大说明CPU不足);
  • st:表示被偷走的CPU所占百分比(该值一般为0,不用关注);

注意:需要关注的是r,b和wa这3列,io部分和bi和bo也是要经常参考的对象,如果磁盘io压力很大,这两列的数值会比较高(大于5千算高)。另外,当si和so两列的数值比较高并且不断变化时,说明内存不够了,内存中的数据频繁交换分区中,这往往对系统性能影响极大。

原创粉丝点击