10.2 vmstat命令

监控系统状态

  • vmstat 命令,监控系统状态
  • 用法 vmstat 1
  • 关键的几列:r ,b,swpd,si,so,bi,us,wa

vmstat命令

  • 用 w 命令查看系统的负载,当系统的负载值偏高时,
    • 比如:数值大于CPU核数,那说明CPU不够用了,就需要去思考是什么原因导致的?我的进程在干什么?有哪些任务在使用CPU呢?
  • vmstat 命令,可以查看到CPU、内存、虚拟磁盘交换分区、I/O(就是你的磁盘)、系统进程等
    • 格式 : vmstat 1 表示每一秒动态显示一次
      • 数字1表示:每一秒钟动态显示一次
      • 结束的时候,按快捷键ctrl+c 将它终止掉
    • 格式:vmstat 1 5 表示每一秒显示一次,只需显示五次
      • 然后它会自动结束
[root@localhost ~]# 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 681860    692 164808    0    0     7     0   13   15  0  0 100  0  0
[root@localhost ~]# 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 681860    692 164840    0    0     7     0   13   15  0  0 100  0  0
 0  0      0 681836    692 164840    0    0     0     0   19   22  0  0 100  0  0
 0  0      0 681836    692 164840    0    0     0     0   16   15  0  0 100  0  0
 0  0      0 681836    692 164840    0    0     0     0   14   12  0  0 100  0  0
^C
[root@localhost ~]# 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 681836    692 164840    0    0     7     0   13   15  0  0 100  0  0
 0  0      0 681812    692 164840    0    0     0     0   19   23  0  0 100  0  0
 0  0      0 681812    692 164840    0    0     0     0   15   12  0  0 100  0  0
 0  0      0 681812    692 164840    0    0     0     0   14   15  0  0 100  0  0
 0  0      0 681812    692 164840    0    0     0     0   15   13  0  0 100  0  0
[root@localhost ~]# 
  • 这里的信息只需要关注这几列,r列,b列,swpd列,si列,so列,bi列,bo列,us列,wa列
    • r 英文单词(run),表示多少个进程处于 run 的状态
      • 在排着队,或者在进行中的进程,都属于run 的状态
    • b 英文单词(block),表示进程被CPU以外的资源给占用,处于一个等待的状态
    • swpd 在磁盘分区的时候,有一个swap空间,当内存不够使用时,可以把内存里的一部分数据临时放到swap空间里去
      • 当内存不够的时候,会使用swap空间。
        • 当swpd数字不变时,则没有关系;
        • 若是数字在持续的变化,那说明你的交换分区和你的磁盘在频繁的交换数据——>这只有一个结果,就是你的内存不够用了
    • si,so 和swpd是有相关联的,在swpd在频繁的改变,那么你的si,so肯定也是会存在数字变更的
      • si 表示有多少个的数据,有多少个块(单位:KB)——>有多少个KB的数据,从swap进入到内存中,这就是si
    • so 表示有多少个KB的数据,从内存中出来,就是 so
      • si和so的参照物就是——>内存
    • bi和bo是跟磁盘是有关系的
      • bi 就是从磁盘里出来,进入到内存中去的,这个就是 读 ,表示读的数据量有多少
      • bo 就是写入到磁盘里去,这个就是 写 ,表示写的数据量有多少
        • 若 bi 和 bo 这两个数值很大的话,就表示磁盘在频繁的读写
        • 磁盘i/o相比较CPU、内存也好都是很慢的,有很多的数据在读写,会造成 b列增加,因为有很多进程在等待磁盘,这是一个必然的结果
      • 当 bi和bo 值 上 5千 的时候就需要注意了
    • us 表示用户态的一些资源,占用CPU的百分比
      • 比如,操作系统不可能只运行一个系统, 还会运行系统上的服务 mysql等,这就会占用一部分cpu资源,就会体现在 us 这一部分
      • us的数字不会超过 100 ,因为一共就百分百,上面显示的就是百分比
      • 当 us 的数字长时间大于50 ,就说明你的系统资源不够了
    • sy 表示系统本身的一些进程,服务占用的百分比
    • id 表示空闲
    • us + sy + id 值 约等于100%
    • wa 英文(wait),表示等待CPU的百分比,有多少个进程在等待CPU,若这一列很大,说明CPU不够用—>和b列有点类似
  • 我们可以通过vmstat 命令,判断出系统的瓶颈在哪里,是CPU不够,还是内存不够,还是磁盘i/o太大,都可以判定出来。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

ZZCMS v8.2 最新版SQL注入漏洞

0x00概述 近期一直在致力于审计CMS的漏洞,当审计遇到ZZCMS v8.2,发现SQL注入漏洞。 0x01 白盒审计 通过白盒审计工具,发现 /user/d...

258100
来自专栏小樱的经验随笔

【批处理学习笔记】第八课:批处理符号(1)

一、 @ 这个字符在批处理中的意思是关闭当前行的回显。我们从前几课知道ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令,现在...

29140
来自专栏从零开始学自动化测试

python测试开发django-1.开始hello world!

当你想走上测试开发之路,用python开发出一个web页面的时候,需要找一个支持python语言的web框架。django框架有丰富的文档和学习资料,也是非常成...

23230
来自专栏知晓程序

开发 | 小程序跨页传值的的问题,这个 JS 库就能解决(内附项目地址)

最近微信小程序越来越火,不少公司都在开发微信小程序,将其他平台的代码转为小程序的代码。

11720
来自专栏Java后端生活

Linux(六)vi和vim编辑器的使用

34650
来自专栏云计算与大数据

研发:Redis4.0 编译安装

4. 采用make PREFIX=/usr/local/redis install

17620
来自专栏企鹅号快讯

用户空间和内核空间

学习 Linux 时,经常可以看到两个词:User space(用户空间)和Kernel space(内核空间)。 简单说,Kernel space 是 Lin...

21780
来自专栏QQ音乐前端团队专栏

web模拟终端博客系统

前段时间做了一个非常有意思的模拟终端的展示页.这个页面非常有意思,它可以作为个人博客系统或者给 Linux 初学者学习终端命令,现分享给大家~

1.1K70
来自专栏阿杜的世界

Serviceability Agent介绍简单介绍安装使用模式入门示例SA的其他工具参考资料

构建高性能的Java应用过程中,必然会遇到各种各样的问题,像CPU飙高、内存泄漏、应用奔溃,以及其他疑难杂症,这时可以使用Serviceability Agen...

26630
来自专栏祥子的故事

python | os包常用命令介绍

42750

扫码关注云+社区

领取腾讯云代金券