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

vmstat命令:系统性能监控

一、命令简介

vmstat​ 是一种在类 Unix 系统上常用的性能监控工具,它可以报告虚拟内存统计信息,包括进程、内存、分页、块 IO、陷阱(中断)和 CPU 活动等。

二、命令参数

2.1 命令格式

vmstat [选项]  [ 延迟 [次数] ]

2.2 选项

  -a, --active           活跃/非活跃内存-f, --forks            自系统启动以来的进程派生数-m, --slabs            slab信息-n, --one-header       不重新显示标题-s, --stats            摘要-d, --disk             磁盘统计-D, --disk-sum         汇总磁盘统计-p, --partition <dev>  特定分区的统计-S, --unit <char>      定义显示单位-w, --wide             宽输出-t, --timestamp        显示时间戳-h, --help     显示此帮助然后退出-V, --version  显示程序版本然后退出

2.3 参数

  • 延迟​: 每次报告之间的延迟时间(以秒为单位)。
  • 次数​: 要报告的次数。

三、命令示例

3.1 显示摘要

小写 s​ 选项显示摘要,默认内存信息以 Byte 为显示单位。使用大写 S​ 选项指定单位为 MB(M)

vmstat -sS MB

输出

#内存信息  1963 M total memory228 M used memory785 M active memory605 M inactive memory310 M free memory104 M buffer memory1320 M swap cache3910 M total swap91 M used swap3819 M free swap
#其他信息220505 non-nice user cpu ticks5204 nice user cpu ticks83658 system cpu ticks95667133 idle cpu ticks24127 IO-wait cpu ticks0 IRQ cpu ticks1697 softirq cpu ticks3186 stolen cpu ticks16046170 pages paged in33059244 pages paged out50165 pages swapped in171026 pages swapped out71506693 interrupts183449791 CPU context switches1727201677 boot time40101 forks

3.2 输出整体信息

使用 vmstat ​命令输出:虚拟内存统计信息,包括进程、内存、分页、块 IO、陷阱(中断)和 CPU 活动等信息。

使用大写 -S​ 选项调整内存显示单位,更利于阅读。注意,这个选项只能改变内存信息的单位,对磁盘等信息等单位无效。

vmstat -S MB

英文环境:正常输出
Clip_2024-09-30_15-56-03

注意,中文环境:不对齐

Clip_2024-09-30_15-55-00​​​​​

3.3 动态输出

设置输出频率

格式:vimstat 更新频率(秒钟)

vmstat 1

输出:每秒输出一次。ctrl + c​ 停止。

recording

设置输出次数

格式:vmstat 更新频率 更新次数

#每秒更新一次,共更新10次
vmstat 1 10

完成 10 次输出后会自动退出 vmstat 命令。

3.4 宽输出格式

使用小写 -w ​参数设置 宽模式


vmstat -w 1

通过比较,使用-w 选项的输出更宽。

Clip_2024-09-30_16-14-33

​​

3.5 磁盘信息

1.显示磁盘 I/O 统计信息,每秒更新一次:

vmstat -d

-S 选项无法改变磁盘信息的显示单位

[root@sc ~]# vmstat -d -S M
disk- ------------reads------------ ------------writes----------- -----IO------total merged sectors      ms  total merged sectors      ms    cur    sec
sda     8645      4  558209    3373 136030  24041 4519632  321532      0    205
sr0       54      0    4192      13      0      0       0       0      0      0
dm-0    7775      0  441727    2865 159239      0 4515404  398469      0    205
dm-1      98      0    4440       3      0      0       0       0      0      0
[root@sc ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------total merged sectors      ms  total merged sectors      ms    cur    sec
sda     8645      4  558209    3373 136030  24041 4519632  321532      0    205
sr0       54      0    4192      13      0      0       0       0      0      0
dm-0    7775      0  441727    2865 159239      0 4515404  398469      0    205
dm-1      98      0    4440       3      0      0       0       0      0      0

2.磁盘信息汇总

vmstat -D

输出,同样 -S 选项对它无用。

            4 disks 2 partitions 16576 total reads4 merged reads1008664 read sectors6321 milli reading295321 writes24043 merged writes9035604 written sectors720119 milli writing0 inprogress IO410 milli spent IO

3.6 显示时间戳

使用-t 选项,额外显示时间戳。

vmstat -t -S M
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 CST0  0      0    819      2    756    0    0     0     1    1   10  0  0 100  0  0 2024-09-30 16:20:44

四、更多

4..1 vmstat 命令输出字段的含义

vmstat ​命令输出字段:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swap  free  buff  cache   si   so    bi    bo   in   cs us sy id wa st

字段含义:

  • procs

    • r​: 等待运行的进程数(正在等待 CPU 资源的进程数)
    • b​: 等待 I/O 的进程数(正在等待 I/O 操作的进程数)
  • memory

    • swap​: 使用的交换空间大小(以 KB 为单位,或者根据 -S ​选项指定的单位)
    • free​: 空闲的内存大小(未被使用的内存大小)
    • buff​: 用作缓冲区的内存大小(主要用于块设备 I/O)
    • cache​: 用作高速缓存的内存大小(主要用于文件系统)
  • swap

    • si​: 从交换区到内存的交换速率(每秒 KB)
    • so​: 从内存到交换区的交换速率(每秒 KB)
  • io

    • bi​: 从块设备接收的块数(每秒)
    • bo​: 发送到块设备的块数(每秒)
  • system

    • in​: 每秒中断数,包括时钟中断
    • cs​: 每秒上下文切换数
  • cpu(这些是 CPU 时间的百分比)

    • us​: 用户时间(非内核进程消耗的 CPU 时间)
    • sy​: 系统时间(内核进程消耗的 CPU 时间)
    • id​: 空闲时间(CPU 没有执行任何进程的时间)
    • wa​: 等待 I/O 的时间(CPU 等待 I/O 操作完成的时间)
    • st​: 被虚拟化偷走的时间(在虚拟机中运行时,宿主机消耗的时间)

请注意,vmstat ​的输出会根据你的系统和配置有所不同,特别是在不同版本的 Linux 发行版中。-S ​选项允许你指定输出单位,可以是 k​(千字节)、K​(千字节)、m​(兆字节)或 M​(兆字节)。例如,-S M ​将以兆字节为单位显示内存和交换空间的大小。

4.2 slab 信息

vmstat -m​ 命令在 Linux 系统中显示的是 slab 分配器的信息,slab 分配器是内核用来管理内存的一种机制,它主要用于分配和释放内核对象,如文件描述符、进程结构等。

vmstat -m​ 的输出通常包含以下几列内容:

  1. Slab 缓存名称:内核 slab 缓存区的名称,表明了该 slab 缓存是用来存储哪种类型的对象。
  2. 活动对象数目:当前正在使用的对象数量。
  3. 活动对象大小:当前正在使用的对象总大小。
  4. 对象数目:slab 缓存中对象的总数。
  5. 对象大小:slab 缓存中所有对象的总大小。
  6. 页面数目:slab 缓存占用的物理页面数。

以下是 vmstat -m ​命令输出的一个示例:

Cache                       Num  Total   Size  Pages
ext4_inode_cache             321    321   960   34
ext4_xattr                  8      8    192   21
buffer_head                 345    345   112   29
vm_area_struct              7954   7954   104   25
mm_struct                   164    164   768   21
...

这些信息可以帮助系统管理员或开发者了解内核中 slab 分配器的使用情况,比如哪些缓存正在使用,它们占用了多少内存,以及它们管理的对象数量等。这对于调试内存使用问题或优化系统性能非常有用。

总结:vmstat输出格式太差了,还是使用其他同类命令吧。

相关文章:

vmstat命令:系统性能监控

一、命令简介 ​vmstat​ 是一种在类 Unix 系统上常用的性能监控工具&#xff0c;它可以报告虚拟内存统计信息&#xff0c;包括进程、内存、分页、块 IO、陷阱&#xff08;中断&#xff09;和 CPU 活动等。 ‍ 二、命令参数 2.1 命令格式 vmstat [选项] [ 延迟 [次数] ]2…...

linux部署NFS和autofs自动挂载

目录 &#xff08;一&#xff09;NFS&#xff1a; 1. 什么是NFS 2. NFS守护进程 3. RPC服务 4. 原理 5. 部署 5.1 安装NFS服务 5.2 配置防火墙 5.3 创建服务端共享目录 5.4 修改服务端配置文件 (1). /etc/exports (2). nfs.conf 5.5 启动nfs并加入自启 5.6 客户端…...

WPF RadioButton 绑定boolean值

<RadioButtonMargin"5"Content"替换"IsChecked"{Binding CorrectionOption.ReCorrectionMode}" /> <RadioButtonMargin"5"Content"平均"IsChecked"{Binding CorrectionOption.ReCorrectionMode, Converter{St…...

2024 ciscn WP

一、MISC 1.火锅链观光打卡 打开后连接自己的钱包&#xff0c;然后点击开始游戏&#xff0c;答题八次后点击获取NFT&#xff0c;得到有flag的图片 没什么多说的&#xff0c;知识问答题 兑换 NFT Flag{y0u_ar3_hotpot_K1ng} 2.Power Trajectory Diagram 方法1&#xff1a; 使用p…...

代码随想录--字符串--重复的子字符串

题目 给定一个非空的字符串&#xff0c;判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母&#xff0c;并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: "…...

No.5 笔记 | 网络端口协议概览:互联网通信的关键节点

1. 常用端口速览表 端口范围主要用途1-1023系统或特权端口1024-49151注册端口49152-65535动态或私有端口 远程访问类&#xff08;20-23&#xff09; 端口服务记忆技巧安全风险21FTP"File Transfer Port"爆破、嗅探、溢出、后门22SSH"Secure Shell"爆破、…...

手机地址IP显示不对?别急,这里有解决方案

在当今的数字化生活中&#xff0c;手机已成为我们连接世界的重要工具。而手机的IP地址&#xff0c;作为我们在网络上的“身份证”&#xff0c;其准确性对于网络体验至关重要。然而&#xff0c;有时我们可能会遇到手机IP地址显示不正确的问题&#xff0c;这不仅会影响网络连接质…...

人工智能对未来工作影响的四种可能性

随着人工智能&#xff08;AI&#xff09;技术的迅速发展&#xff0c;其对人类工作的影响已成为讨论的热点话题。我们经常听到有关AI威胁论的观点&#xff0c;担心它将取代人类工作&#xff0c;但也有专家认为AI将成为一种辅助工具&#xff0c;帮助人类提升工作效率。宾夕法尼亚…...

SpringBoot+ElasticSearch7.12.1+Kibana7.12.1简单使用

案例简介 本案例是把日志数据保存到Elasticsearch的索引中&#xff0c;并通过Kibana图形化界面的开发工具给查询出来添加的日志数据&#xff0c;完成从0到1的简单使用 ElasticSearch职责用法简介 ElasticSearch用在哪 ElasticSearch在我这个案例中&#xff0c;不是用来缓解增…...

RESTful风格接口+Swagger生成Web API文档

RESTful风格接口Swagger生成Web API文档 文章目录 RESTful风格接口Swagger生成Web API文档1.RESTful风格接口RESTful简介RESTful详细图示常见http状态码springboot实现RESTfulRESTful springboot设计实例demo 2.Swagger生产Web API文档Swagger简介使用Swagger1.加入依赖2.配置S…...

性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)

一.基准测试 1&#xff09;概念 狭义上讲&#xff1a;就是单用户测试。测试环境确定后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标。 广义上&#xff1a;是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…...

【C++】—— 继承(上)

【C】—— 继承&#xff08;上&#xff09; 1 继承的概念与定义1.1 继承的概念1.2 继承定义1.2.1 定义格式1.2.2 继承父类成员访问方式的变化 1.3 继承类模板 2 父类和子类对象赋值兼容转换3 继承中的作用域3.1 隐藏规则3.2 例题 4 子类的默认成员函数4.1 构造函数4.1.1 父类有…...

【2024保研经验帖】东南大学计算机学院夏令营

前言 背景&#xff1a;末211&#xff0c;专业计算机科学与技术&#xff0c;rk前5%&#xff0c;无科研&#xff0c;只有几个竞赛 东南大学计算机学院夏令营需要老师推荐&#xff0c;一个老师的推荐名额感觉应该挺多的&#xff0c;因为学硕和专硕都进了两百多人&#xff0c;总共…...

dz论坛可可积分商城插件价值399元

界面简洁美观大方&#xff0c;适合各类站点。支持多用户商城&#xff0c;可让商家入驻站点发布商品&#xff0c;亦可站长自己发布商品。支持向商家抽佣抽成功能&#xff0c;可设置商家在成交商品后按一定比例扣除抽成&#xff0c;达到网站盈利目的采用队列技术处理&#xff0c;…...

python的extend和append

在Python中&#xff0c;list的append和extend方法都是用来向列表添加元素的&#xff0c;但它们之间有一些关键的区别&#xff1a; append方法&#xff1a; append方法用于将一个对象添加到列表的末尾。无论添加的对象是什么类型&#xff08;整数、字符串、列表等&#xff09;&a…...

贪心算法相关知识

目录 基础 定义 工作原理 步骤一&#xff1a;分解问题 步骤二&#xff1a;确定贪心策略 步骤三&#xff1a;求解子问题 步骤四&#xff1a;合并结果 适用场景 活动安排问题 找零问题 哈夫曼编码 局限性 高级 与动态规划的对比 决策方式 最优性保证 时间复杂度和…...

济南比较出名的人物颜廷利:全球最具影响力的思想家起名大师

颜廷利教授是一位在思想、哲学、教育、易学、国学、心理学、命名学等多个领域具有深远影响的学者。他被誉为“世界点赞第一人”&#xff0c;在国内外享有极高的声誉&#xff0c;被认为是现代易经三大泰斗之首。山东目前比较厉害的名人颜廷利教授的学术成就和影响力横跨哲学、思…...

第100+27步 ChatGPT学习:概率校准 Temperature Scaling

基于Python 3.9版本演示 一、写在前面 最近看了一篇在Lancet子刊《eClinicalMedicine》上发表的机器学习分类的文章&#xff1a;《Development of a novel dementia risk prediction model in the general population: A large, longitudinal, population-based machine-learn…...

Python知识点:如何应用Python工具,使用NLTK进行语言模型构建

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用NLTK进行语言模型构建 在自然语言处理&#xff08;NLP&#xff09;中&a…...

深入浅出MySQL

深入浅出MySQL 以下内容参考自 《MySQL是怎样运行的&#xff1a;从根儿上理解MySQL》一书&#xff0c;强烈推荐 存储引擎 对于不同的表可以设置不同的存储引擎 CREATE TABLE tableName (xxxx ) ENGINE 引擎名称; # 修改 ALTER TABLE tableName ENGINE xxx; 编码格式 my…...

【WRF工具】cmip6-to-wrfinterm工具概述:生成WRF中间文件

cmip6-to-wrfinterm工具概述 cmip6-to-wrfinterm工具安装cmip6-to-wrfinterm工具使用快速启动&#xff08;Quick start&#xff09;情景1&#xff1a;MPI-ESM-1-2-HR&#xff08;默认&#xff09;&#xff1a;情景2&#xff1a;BCMM情景3&#xff1a;EC-Earth3 更改使用&#x…...

大厂面试真题:阿里经典双重检测DCL对象半初始化问题

阿里面试题中提到的双重检测DCL&#xff08;Double-Checked Locking&#xff09;对象半初始化问题&#xff0c;是Java多线程编程中一个经典的问题。以下是对这一问题的详细解析&#xff1a; 一、双重检测锁&#xff08;DCL&#xff09;概述 双重检测锁是一种用于实现单例模式…...

20款奔驰CLS300升级原厂抬头显示HUD 23P智能辅助驾驶 触摸屏人机交互系统

以下是为您生成的一份关于 18 款奔驰 CLS 老款改新款的改装文案&#xff1a; 18 款奔驰 CLS 老款改新款&#xff1a;科技升级&#xff0c;畅享极致驾驶体验 在汽车改装的世界里&#xff0c;每一次的升级都是对卓越的追求。今天&#xff0c;让我们一同探索 18 款奔驰 CLS 老款改…...

GoogleNet原理与实战

在2014年的ImageNet图像识别挑战赛中&#xff0c;一个名叫GoogLeNet 的网络架构大放异彩。以前流行的网络使用小到11&#xff0c;大到77的卷积核。本文的一个观点是&#xff0c;有时使用不同大小的卷积核组合是有利的。 回到他那个图里面你会发现,这里的一个通过我们最大的池化…...

MongoDB 数据库服务搭建(单机)

下载地址 下载测试数据 作者&#xff1a;程序那点事儿 日期&#xff1a;2023/02/15 02:16 进入下载页&#xff0c;选择版本后&#xff0c;右键Download复制连接地址 下载安装包 ​ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz​ …...

基于springboot+小程序的智慧物业平台管理系统(物业1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 智慧物业平台管理系统按照操作主体分为管理员和用户。 1、管理员的功能包括报修管理、投诉管理管理、车位管理、车位订单管理、字典管理、房屋管理、公告管理、缴费管理、维修指派管理、…...

[SpringBoot] 苍穹外卖--面试题总结--上

前言 1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客 2--苍穹外卖-SpringBoot项目中员工管理 详解&#xff08;一&#xff09;-CSDN博客 3--苍穹外卖-SpringBoot项目中员工管理 详解&#xff08;二&#xff09;-CSDN博客 4--苍穹外码-SpringBoot项目中分类管理 详…...

[C#]使用onnxruntime部署yolov11-onnx实例分割模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 在C#中使用ONNX Runtime部署YOLOv11-ONNX实例分割模型&#xff0c;涉及到模型的加载、数据预处理、模型推理和后处理几个关键步骤。 首先&#xff0c;需要确保已经安装了ONNX Runtime的NuGe…...

Polars的Config

Config Config 内容使用示例设置并行执行设置日志详细程度指定null值设置推断schema的行数启用低内存模式获取当前配置选项的值 在Polars的Python API中&#xff0c;Config部分提供了配置选项&#xff0c;允许用户自定义Polars的行为。以下是一些可配置的选项及其使用示例&…...

【面试官】 多态连环问

以下是一些关于封装的常见面试题及答案&#xff1a; 封装 1. 什么是封装&#xff1f; 答案&#xff1a;封装是面向对象编程的三大特性之一&#xff0c;它是将数据和操作数据的方法绑定在一起&#xff0c;并且通过访问修饰符限制对数据的直接访问&#xff0c;只提供特定的方法来…...