Linux性能测试分析命令_sar
sar主要用于收集并统计系统资源的信息,包括CPU、IO、内存、网卡流量等。
sar语法
用法:sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
常用选项说明:
-u 输出整体CPU的使用情况,默认值。 -d 显示各个磁盘的统计信息 -p 以sdX的形式显示设备名称,不带该参数,设备显示是dev2-8、dev2-9等,不易识别。 -b 显示磁盘I/O的使用情况: -r 显示内存统计信息 -P ALL 显示每个内核统计信息: -n 显示网络使用情况,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息: -o sar输出信息保存到指定的文件
说明:更多选项说明可使用man sar查看
常用实例
1、cpu整体使用情况统计(sar 2 3 /sar -u 2 3)
$ sar 2 3 Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ (4 CPU) 10时43分18秒 CPU %user %nice %system %iowait %steal %idle 10时43分20秒 all 0.63 0.00 0.38 0.00 0.00 99.00 10时43分22秒 all 0.88 0.00 0.63 0.88 0.00 97.62 10时43分24秒 all 0.75 0.00 0.25 0.00 0.00 99.00 平均时间: all 0.75 0.00 0.42 0.29 0.00 98.54
输出说明:
%user: 用户态下CPU使用时间比率 %system: 内核态下CPU使用时间比率 %iowait: CPU等待I/O占用时间比率 %idle: CPU空闲时间比率
2、各磁盘IO使用情况统计(sar -d -p 1 2)。
$ sar -d -p 1 2 Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ (4 CPU) 10时45分52秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 10时45分53秒 vda 2.00 0.00 24.00 12.00 0.03 13.00 6.50 1.30 10时45分53秒 vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时45分53秒 vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时45分53秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 10时45分54秒 vda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时45分54秒 vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时45分54秒 vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 平均时间: vda 1.00 0.00 12.00 12.00 0.01 13.00 6.50 0.65 平均时间: vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
输出说明:
tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的. rd_sec/s:每秒读扇区的次数. wr_sec/s:每秒写扇区的次数. avgrq-sz:平均每次设备I/O操作的数据大小(扇区). avgqu-sz:磁盘请求队列的平均长度. await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒). svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间. %util:I/O请求占CPU的百分比,比率越大,说明越饱和.
3、内存使用情况统计(sar -r 1 2 )
$ sar -r 1 2 Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ (4 CPU) 10时46分51秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 10时46分52秒 146952 7863576 98.17 1083660 3756208 5873504 73.32 4508740 2539472 128 10时46分53秒 146952 7863576 98.17 1083660 3756212 5873504 73.32 4508752 2539468 128 平均时间: 146952 7863576 98.17 1083660 3756210 5873504 73.32 4508746 2539470 128
输出说明
kbmemfree 空闲物理内存 kbmemused 已使用物理内存 %memused 已使用内存占总内存百分比 kbbuffers Buffer Cache大小 kbcached Page Cache大小 kbcommit 应用程序当前使用内存大小 %commit 应用程序使用内存百分比
4、网卡流量使用情况统计(sar -n DEV 1 2)
$ sar -n DEV 1 2 Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ (4 CPU) 10时47分51秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 10时47分52秒 eth0 42.00 39.00 13.06 11.54 0.00 0.00 0.00 10时47分52秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时47分52秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 10时47分53秒 eth0 17.00 20.00 4.90 7.58 0.00 0.00 0.00 10时47分53秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 平均时间: eth0 29.50 29.50 8.98 9.56 0.00 0.00 0.00 平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
输出说明
IFACE: 网络接口名称 rxpck/s: 每秒收包的数量 txpck/s: 每秒发包的数量 rxkB/s: 每秒收的数据量(kB为单位) txkB/s: 每秒发的数据量(kB为单位) rxcmp/s:每秒钟接收的压缩数据包 txcmp/s:每秒钟发送的压缩数据包 rxmcst/s:每秒钟接收的多播数据包
参考资料
分类:
性能测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义