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输出格式太差了,还是使用其他同类命令吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1556279.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

8.9K Star,开源自托管离线翻译引擎

Hi&#xff0c;骚年&#xff0c;我是大 G&#xff0c;公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目&#xff0c;一分钟 get 一个优秀的开源项目&#xff0c;挖掘开源的价值&#xff0c;欢迎关注。 在全球化的今天&#xff0c;跨语言交流已成为日常需求&#xff0c;然…

使用树莓派搭建音乐服务器

目录 引言一、搭建Navidrome二、服务穿透三、音流配置 引言 本人手机存储空间128G&#xff0c;网易云音乐6个G&#xff0c;本就不富裕的空间更是雪上加霜&#xff0c;而且重点是&#xff0c;我根本没有听几首歌&#xff0c;清除缓存后&#xff0c;整个软件都还是占用了5个G左右…

python log函数怎么用

log() 返回 x 的自然对数。 语法 以下是 log() 方法的语法&#xff1a; import math math.log(x[, base]) 注意&#xff1a;log()是不能直接访问的&#xff0c;需要导入 math 模块&#xff0c;通过静态对象调用该方法。 参数 x -- 数值表达式。 base -- 可选&#xff0c;底…

C(十四)while、for、do-while循环综合(一)

uu们&#xff0c;小弟我本科在读&#xff0c;文章我会一直坚持更新下去&#xff0c;包括但不限于C初阶、C进阶、数据结构、C、Linux、MySQL、项目、QT开发、各种算法&#xff08;之后会持续更新&#xff09;&#xff0c;并且站在小白的视角尽可能通俗易懂地把这些写出来&#x…

GO网络编程(五):海量用户通信系统3:整体框架与C/S通信总体流程【重要】

这个系统其实是尚硅谷的老韩讲的&#xff08;尚硅谷网络编程项目&#xff09;&#xff0c;但是他讲得很碎片化&#xff0c;思路不够清晰&#xff0c;时间又长&#xff0c;所以要掌握还是挺难的。如果你听了他的视频&#xff0c;不去梳理系统业务流程&#xff0c;不去看代码就往…

Vivado - JTAG to AXI Master (GPIO、HLS_IP、UART、IIC)

1. 简介 本文分享 JTAG to AXI Master IP Core 的使用教程。 此 IP 用于 AXI 接口向设计输入数据&#xff0c;或者读取数据。通过 Tcl 控制台编写命令来驱动此 IP&#xff0c;通过 JTAG 即可进行操作&#xff0c;而这个 IP 则在 AXI 端口上驱动 AXI 事务。由于这个核心没有自…

oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库,可用于头像剪裁等常见场景。

&#x1f4da; 简介 oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库&#xff0c;可用于头像剪裁等常见场景。 代码仓库&#xff1a;oh-crop &#x1f4da; 下载安装 ohpm i xinyansoft/oh-cropOpenHarmony ohpm 环境配置等更多内容&#xff0c;请参考: 下载安装三方库…

六、Java 基础语法(下)

一、变量 1、变量的定义与使用 变量就是内存中的存储空间&#xff0c;空间中存储着经常发生改变的数据变量定义格式&#xff1a; 数据类型 变量名 数据值使用时根据变量名使用举例如下&#xff0c;上面是代码&#xff0c;下面是输出 2、变量的注意事项 变量名不允许重复…

系统分析师16:系统测试与维护

1 内容概要 2 软件测试类型 2.1 测试类型 动态测试【计算机运行】 白盒测试法&#xff1a;关注内部结构与逻辑灰盒测试法&#xff1a;介于两者之间黑盒测试法&#xff1a;关注输入输出及功能 静态测试【人工监测和计算机辅助分析】 桌前检查代码审查代码走查以上三个都是做的…

图解网络OSI模型与TCP/IP

一、OSI模型与TCP/IP 1、OSI模型 OSI/RM&#xff08;Open System Interconnection&#xff0c;开放系统互联参考模型&#xff09;是由ISO&#xff08;国际标准组织&#xff09;创建的一个有助于开放和理解计算机的通信模型&#xff0c;OSI七层参考模型作为一套规范的标准&…

端口冲突的解决方案以及SpringBoot自动检测可用端口demo

端口冲突的解决方案 端口冲突通常发生在尝试运行两个或多个应用程序或服务时&#xff0c;它们尝试使用同一个端口号&#xff0c;导致系统无法正确分配资源。 各种端口错误 你是否遇到过下面这些报错信息呢&#xff1f; Windows 系统报错&#xff1a; 系统错误 1004 套接字操作…

[C#]使用纯opencvsharp部署yolov11-onnx图像分类模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 使用纯OpenCvSharp部署YOLOv11-ONNX图像分类模型是一项复杂的任务&#xff0c;但可以通过以下步骤实现&#xff1a; 准备环境&#xff1a;首先&#xff0c;确保开发环境已安装OpenCvSharp和必…

初始项目托管到gitee教程,开箱即用

0.本地仓库与远程仓库关联&#xff08;需先在gitee创建仓库&#xff09; ①打开powershell生成ssh key ssh-keygen -t ed25519 -C "Gitee SSH Key"-t key 类型-C 注释 生成成功如下&#xff0c;并按下三次回车 ②查看公私钥文件 ls ~/.ssh/输出&#xff1a; id_…

PPPoE协议个人理解+报文示例+典型配置-RFC2516

个人认为&#xff0c;理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息&#xff0c;更加便于理解协议。 因此本文将在PPPoE协议报文的基础上进行介绍。 PPPoE协议发展 关于PPPoE基本原理&#xff0c;可参考1999年发布的《RFC2516-A Method fo…

大模型客服的未来发展趋势

在当今数字化时代&#xff0c;大模型客服正以惊人的速度改变着客户服务的格局。随着技术的不断进步&#xff0c;大模型客服的未来发展趋势充满了无限可能。随着人工智能技术的快速发展&#xff0c;智能客服领域正迎来一场前所未有的变革。大模型客服作为其中的重要分支&#xf…

32位机器上指针大小为什么是4字节?

&#xff08;1&#xff09;32位机器可寻址内存空间位4GB。为什么&#xff1f; 32位机器的总线宽度是32位&#xff0c;每一位可以是0或者1&#xff0c;那么32位可以表示个不同的值&#xff0c;也就是能寻址到个内存地址&#xff0c;每个内存地址对应一个内存单元&#xff08;1个…

RFID学习

24.10.5学习目录 一.简介1.组成2.RFID协议3.RFID卡 一.简介 RFID被称为无线射频识别&#xff0c;其是一种通信技术&#xff0c;通过无线电讯号耦合识别特定目标并读写相关数据&#xff1b; RFID主要位于典型物联网架构中的感知层&#xff0c;其因为具有非接触式特性&#xff…

hiricacp 连接池校验机制

一、背景 项目发生告警&#xff0c;但是并没有影响业务&#xff0c;看了下日志&#xff0c;红框里面有循环调用了3次 &#xff0c;一直以为是外部的重试在重试&#xff0c;但是外部确没有重试记录&#xff0c;就深扒了代码 二、想法 我知道hikaricp获取连接之后会校验连接的有…

k8s 之安装metrics-server

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/01/29 18:25 metrics-server可帮助我们查看pod的cpu和内存占用情况 kubectl top po nginx-deploy-56696fbb5-mzsgg # 报错&#xff0c;需要Metrics API 下载 Metrics 解决 wget https://github.com/kubernetes-sigs/metri…

系统架构设计师⑦:企业信息化战略与实施

系统架构设计师⑦&#xff1a;企业信息化战略与实施 信息的概念及特点 信息的定义&#xff1a; ①香农:信息就是不确定性的减少。 ②维纳:信息就是信息&#xff0c;既不是物质&#xff0c;也不是能量。 信息的特点&#xff1a; ①客观性(真伪性):也叫事实性&#xff0c;不符…