news 2026/4/15 12:28:27

性能测试-性能监控相关命令-基础篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
性能测试-性能监控相关命令-基础篇

文章目录

  • 1.Linux性能分析系统级别指标
    • io 指标监控命令
    • cpu 指标监控命令
    • mem指标监控命令 - 内存
    • net-指标监控命令 - 网络
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1.Linux性能分析系统级别指标

io 指标监控命令

系统磁盘IO数量,次数

  • iostat
    命令描述: 监控系统设备的IO负载情况
    命令: iostat
    iostat 1 5 : 每一秒监控一次,总共监控5次


Device: 系统挂载磁盘名称
tps: 每秒发生的 I/O 传输次数(即 I/O 请求次数)
kB_read/s: 每秒从设备读取的数据量(单位:千字节/秒)
kB_wrtn/s: 每秒向设备写入的数据量(单位:千字节/秒)
kB_dscd/s: 每秒被丢弃(discard)的数据量(单位:千字节/秒)
kB_read:自监控开始(或系统启动以来)累计读取的总数据量(单位:千字节)
kB_wrtn: 自监控开始(或系统启动以来)累计写入的总数据量(单位:千字节)
kB_dscd: 自监控开始以来累计丢弃(discard/TRIM)的总数据量(单位:千字节)

  • df : 查看系统磁盘空间
    命令描述: 列出⽂件系统的整体磁盘空间使⽤情况
    命令: df -h

cpu 指标监控命令

  • uptime
    命令描述: 用于显示系统总共运行了多长时间和系统的平均负载
    命令: uptime


当前系统时间
系统连续运行的时间
多少使用用户
loadaverage(系统负载平均值): 过去1分钟平均负载,过去5分钟平均负载,过去15分钟内平均负载

  • cat /proc/cpuinfo
    命令描述: 查看CPU的配置信息
    命令: cat /proc/cpuinfo
    查看有几个cpu内核,下面是查看cpu并过滤出主要的processor内核

  • mpstat
    命令描述: 是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标
    命令演示:mpstat 后指定参数
    mpstat
    mpstat -P ALL : 展示平均和每个cpu值
    mpstat -P 1 :展示内核为1的cpu值


mpstat 默认显示自系统启动以来的 平均 CPU 使用率;

数据参数说明:
重点关注:%usr,%sys,%iowait,%idle

列名含义说明
时间09:58:47 PM统计截止时间(即命令执行时的时间)
CPUall表示这是 所有 CPU 核心的平均值(若显示01则是各核心单独统计)
%usr0.18用户态 CPU 使用率→ 普通应用程序(如 shell、Python、Java 等)占用的 CPU 时间百分比-用户进程使用的百分比
%nice0.00低优先级(nice > 0)用户进程的 CPU 使用率
→ 当前无此类进程
%sys0.08系统进程占用 CPU 使用率
→ 执行系统调用、中断处理、内核线程等所占比例
%iowait0.01CPU 等待 I/O 完成的时间占比
→ 高值可能表示磁盘 I/O 瓶颈(但需结合iostat判断)
%irq0.00硬中断(Hardware IRQ)处理占用的 CPU
→ 如网卡、磁盘控制器触发的中断
%soft0.00软中断(SoftIRQ)处理占用的 CPU
→ 如网络协议栈下半部处理
%steal0.00虚拟机被宿主机“偷走”的 CPU 时间
→ 在虚拟化环境中才有意义(如 AWS EC2、VMware),非 0 表示资源争抢
%guest0.00运行虚拟机 guest OS 的 CPU 时间(已包含在 %usr 中)
%gnice0.00低优先级虚拟机 guest 的 CPU 时间
%idle99.73CPU 空闲时间占用百分比(未执行任何任务,且无 I/O 等待)
  • sar
    命令描述: 是一个Linux下的监控工具,可以用来监控CPU性能状况
    命令: sar -u 1 1
    解释命令:每隔一秒监控一次,总共监控 1 次

mem指标监控命令 - 内存

  • cat /proc/meminfo
    命令描述: 查看内存相关配置信息
    命令演示: cat /proc/meminfo

  • vmstat
    命令描述: 用来获得有关进程、内存、虚拟内存、页面交换空间及 CPU活动的信息
    命令演示: vmstat

展示参数说明:

字段含义
进程相关----
r2正在运行(running)或等待 CPU 的进程数→ 如果该值长期 > CPU 核心数,说明 CPU 可能存在瓶颈。当前值为 2,但结合 CPU idle=100%,说明这两个进程可能只是瞬时就绪,并未持续占用 CPU。
b0通常是等待 I/O(如磁盘、网络)完成。值为 0 表示无 I/O 阻塞。
内存相关----------
swpd0已使用的 交换分区(swap)大小(KB)
→ 0 表示完全没有使用 swap,物理内存充足。
free130308空闲物理内存(KB) ≈ 127 MB
→ 注意:Linux 会尽量利用内存做缓存,所以“free”小 ≠ 内存不足。
buff205008缓冲区缓存(buffer cache)(KB)≈ 200 MB
→ 主要用于块设备(如磁盘)的元数据缓存。
cache2189388页缓存(page cache)(KB)≈ 2.1 GB
→ 缓存文件内容,可被回收。
swap交换活动----------
si0从 swap 换入内存的数据量(swap in)(KB/s)
→ 非 0 表示内存压力大,正从磁盘换回数据。
so0从内存换出到 swap 的数据量(swap out)(KB/s)
→ 非 0 表示物理内存不足,正在写入 swap。
IO相关----------
bi1每秒从块设备读入的块数(blocks in)
→ 极低,几乎无磁盘读。
bo6每秒写入块设备的块数(blocks out)
→ 极低,少量写操作(如日志)。
system----------
in5每秒中断次数(interrupts)
→ 包括硬件中断(如键盘、网卡)和软件中断。
cs4每秒上下文切换次数(context switches)
→ 进程/线程切换 CPU 执行权的频率。
CPU----------
us0用户态 CPU 使用率(user)
→ 应用程序代码执行时间。
sy0内核态 CPU 使用率(system)
→ 系统调用、内核任务时间。
id100CPU 空闲时间(idle)
→ 系统完全空闲!
wa0I/O 等待时间(wait)
→ CPU 空闲但有未完成 I/O。0 表示无 I/O 瓶颈。
st0steal time
→ 虚拟机被宿主机抢占的时间。0 表示非虚拟化或资源充足。
  • free
    命令描述: 显示系统使用和空闲内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
    命令演示: free, free -g
    -g 将单位换算为 G

net-指标监控命令 - 网络

  • ping
    命令描述: 向目标系统发送报文,检测网络连通性的工具
    命令演示: ping 目标ip
  • ifconfig
    命令描述: 用于获取网卡配置与网络状态等信息
    命令演示: ifconfig
  • hostname
    命令描述: 显示本机的hostname, 修改本机的hostname
    命令演示:
    hostname :- 显示本地用户信息
    hostname -i : 显示数字的ip地址

  • netstat
    命令描述: 用于显示各种网络相关信息,如网络连接,路由表,接口状态等
    命令演示:
    netstat -an :n参数数字形式展示
    如:不加n : localhost:domain
    加n:127.0.0.52:52
    netstat -at : 展示tcp协议相关
    netstat -au :展示udp协议相关
    netstat -p

  • netstat参数说明:
    -a:显示 所有 sockets(包括监听中的和已建立的连接)
    -n:以 数字形式 显示地址和端口号(不解析主机名、服务名)
    -t:仅显示 TCP 协议的连接。
    -u:仅显示 UDP 协议的连接。
    -p:展示每个连接/监听的进程PID,进程名称/程序名称

  • 【扩展】
    ss -tulnp # 等价于 netstat -tulnp,但速度更快

  • 常用组合
    netstat -tulnp # 看谁在监听什么端口
    netstat -an | grep :8080 # 看 8080 端口状态


总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 10:51:33

Tablacus Explorer:重新定义Windows文件管理的多标签神器

Tablacus Explorer:重新定义Windows文件管理的多标签神器 【免费下载链接】TablacusExplorer A tabbed file manager with Add-on support 项目地址: https://gitcode.com/gh_mirrors/ta/TablacusExplorer 还在为Windows资源管理器的单一窗口而烦恼吗&#x…

作者头像 李华
网站建设 2026/4/15 5:29:17

GHelper深度体验:3个维度重新定义ROG设备性能管理

GHelper深度体验:3个维度重新定义ROG设备性能管理 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: h…

作者头像 李华
网站建设 2026/4/11 21:38:10

跑RexUniNLU省钱攻略:云端按需付费比买显卡省万元

跑RexUniNLU省钱攻略:云端按需付费比买显卡省万元 你是个自由职业者,刚接了个文本分类项目,客户希望你能快速验证效果。听说最近有个叫 RexUniNLU 的中文自然语言理解模型很火,支持命名实体识别、情感分类、文本匹配等十多种任务…

作者头像 李华
网站建设 2026/4/3 4:16:14

本地部署CV-UNet抠图模型|科哥镜像实现快速批量人像去背景

本地部署CV-UNet抠图模型|科哥镜像实现快速批量人像去背景 1. 引言:图像抠图的工程化需求与挑战 在电商、设计、内容创作等领域,高质量的人像去背景(即图像抠图)是一项高频且关键的任务。传统手动抠图效率低下&#…

作者头像 李华
网站建设 2026/4/8 18:53:03

Sharp-dumpkey:终极微信数据库解密密钥一键获取指南

Sharp-dumpkey:终极微信数据库解密密钥一键获取指南 【免费下载链接】Sharp-dumpkey 基于C#实现的获取微信数据库密钥的小工具 项目地址: https://gitcode.com/gh_mirrors/sh/Sharp-dumpkey 还在为无法访问自己的微信聊天记录而苦恼吗?Sharp-dump…

作者头像 李华
网站建设 2026/4/9 9:37:11

Fun-ASR-MLT-Nano-2512避坑指南:语音识别部署常见问题全解

Fun-ASR-MLT-Nano-2512避坑指南:语音识别部署常见问题全解 在语音交互日益普及的今天,多语言语音识别技术已成为智能客服、会议纪要、远程协作等场景的核心支撑。然而,当企业希望将高精度语音识别能力本地化部署时,往往会面临模型…

作者头像 李华