10.2 vmstat命令
时间:2022-04-27
本文章向大家介绍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 表示每一秒显示一次,只需显示五次
- 然后它会自动结束
- 格式 : vmstat 1 表示每一秒动态显示一次
[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数字不变时,则没有关系;
- 若是数字在持续的变化,那说明你的交换分区和你的磁盘在频繁的交换数据——>这只有一个结果,就是你的内存不够用了
- 当内存不够的时候,会使用swap空间。
- 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列有点类似
- r 英文单词(run),表示多少个进程处于 run 的状态
- 我们可以通过vmstat 命令,判断出系统的瓶颈在哪里,是CPU不够,还是内存不够,还是磁盘i/o太大,都可以判定出来。
- 给树莓派安装中文字库
- Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类
- Design Pattern: Observer Pattern
- Hadoop(十六)之使用Combiner优化MapReduce
- ActiveMQ笔记(6):消息延时投递
- CentOS 安装 Maven
- Architecture Pattern: Publish-subscribe Pattern
- OOAD-设计模式(三)之创建型设计模式(5种)
- ActiveMQ笔记(5):JMX监控
- session失效时间设置
- ActiveMQ笔记(4):搭建Broker集群(cluster)
- OOAD-设计模式(二)之GRASP模式与GOF设计模式概述
- 围棋之幸?围棋之悲?史上最年轻“五冠王”柯洁宣布再战AI
- spring 在Thread中注入@Resource失败,总为null的解决方案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法