当前位置: 首页 > article >正文

Linux—vmstat命令详解

vmstat概念

        vmstat命令是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来动态监控系统资源的 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息使用情况

vmstat下载

yum -y install  sysstat

vmstat命令参数

基本格式
[root@localhost ~]# vmstat [选项]
[root@localhost ~]# vmstat [刷新延时 刷新次数]
选项参数
-a(active)             显示活跃和非活跃内存
-f(forks)              显示从系统启动至今的fork数量
-m(slabs)              显示slabinfo
-n(one-header)         只在开始时显示一次各字段名称
-s(stats)              显示内存相关统计信息及多种系统活动数量
-d(disk)               显示磁盘相关统计信息
-D(disk-sum)           磁盘总和汇总磁盘统计信息
-p(partition <dev>)    查看硬盘分区的读写情况
-S(unit <char>)        令输出的数据显示单位,例如用 K/M 取代 bytes 的容量
-w(wide)               宽输出
-t(timestamp)          显示时间戳
-h(help)               显示此帮助并退出
-V(version)            输出版本信息并退出

操作示例

每隔两秒输出三次数据

[root@localhost ~]# vmstat 2 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 3887820   2108 305320    0    0     3     0    7    8  0  0 100  0  0
 0  0      0 3887704   2108 305320    0    0     0     0   43   67  0  0 100  0  0
 0  0      0 3887704   2108 305320    0    0     0     0   39   60  0  0 100  0  0
命令字段说明
字段含义
procs

进程信息字段

  • r:等待 CPU 运行的进程数,数量越大,系统越繁忙(负载瓶颈:3,5,10)
  • b:等待资源的进程数,数量越大,系统越繁忙
memory

内存信息字段:

  • swpd:虚拟内存的使用情况,单位为 KB
  • free:空闲的内存容量,单位为 KB
  • buff:缓冲的内存容量,单位为 KB
  • cache:缓存的内存容量,单位为 KB

缓存(cache)是用来加速数据从硬盘中读取的,而缓冲(buffer)是用来加速数据写入硬盘的

swap

交换分区信息字段:

  • si:从磁盘中交换到内存中数据的数量,单位为 KB
  • so:从内存中交换到磁盘中数据的数量,单位为 KB

这两个数越大,表明数据需要经常在磁盘和内存之间进行交换,系统性能越差

io

磁盘读/写信息字段:

  • bi:从磁盘中读入的数据的总量,单位为 KB
  • bo:写到磁盘的数据的总量,单位为 KB

这两个数越大,代表系统的 I/O 越繁忙。

system

系统信息字段:

  • in:每秒被中断的进程次数
  • cs:每秒上下文的切换次数

这两个数越大,代表系统与接口设备的通信越繁忙。

cpu

CPU信息字段:

us:CPU应用进程使用率
sy:系统核心CPU使用率
id:CPU空闲率
wa:等待 I/O 的占用率
st:当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比
如果us+sy 大于 80%说明可能存在CPU不足,如果wa超过30%,说明IO等待比较严重
 


http://www.kler.cn/news/107264.html

相关文章:

  • 中电文思海辉:塑造全球AI能力,持续强化诸多行业战略
  • 115 双周赛
  • SQLAlchemy删除所有重复的用户|Counter类运用
  • 【考研数学】概率论与数理统计 —— 第七章 | 参数估计(1,基本概念及点估计法)
  • Spring Boot 配置邮件发送服务
  • C# 图解教程 第5版 —— 第10章 语句
  • ARM | 传感器必要总线IIC
  • Docker创建mysql容器
  • 驱动开发5 阻塞IO实例、IO多路复用
  • Idea Debug断点太多 启动太慢
  • 由于找不到emp.dll无法继续执行此代码问题的五个解决方法
  • OpenAI 组建安全 AGI 新团队!应对AI“潘多拉魔盒”
  • 2023 年 Web 应用程序开发最佳技术堆栈
  • 【ROS入门】机器人运动控制以及里程计信息显示
  • CPU眼里的C/C++: 1.3 汇编级单步调试函数执行过程
  • C# 超链接 LinkLabel 类 控件
  • 最新Unity DOTS系列之Aspect核心机制分析
  • 多分类loss学习记录
  • 安防监控项目---boa服务器的移植
  • MySQL索引优化实战指南(InsCode AI 创作助手)
  • ilr normalize isometric log-ratio transformation
  • 291_C++_发送json数据给对于的URL【JSON数据交互】
  • 面向对象设计原则之依赖倒置原则
  • 香港服务器如何做负载均衡?
  • Python中json的用法
  • 1818_ChibiOS的计数信号量
  • Jenkins CLI二次开发工具类
  • CANOE 仿真+测试
  • 高可用系统架构——关于语雀宕机的思考
  • 使用es实现轻量级分布式锁