sar(System Activity Reporter系统活动状况报告)是目前 Linux 上最为全面的系统性能分析工具之一,能够从多方面对系统的活动进行报告,包括:文件的读写状况、系统调用的使用状况、磁盘I/O、CPU效率、内存使用情况、进程活动及IPC有关的活动等。html
一、命令与参数
-A:全部报告的总和,以下图ios
-b:显示I/O和传递速率的统计信息网络
字段 | 释义 | 备注 |
tps | 磁盘每秒钟的IO总数,等于iostat中的tps | |
rtps | 每秒钟从磁盘读取的IO总数 | |
wtps | 每秒钟从写入到磁盘的IO总数 | |
bread/s | 每秒钟从磁盘读取的块总数 | |
bwrtn/s | 每秒钟此写入到磁盘的块总数 | |
-u:输出cpu使用状况和统计信息,默认就是-u参数工具
sar 5 5
字段 | 释义 | 备注 |
%user | 用户空间的CPU使用 | |
%nice | 改变过优先级的进程的CPU使用率 | |
%system | 内核空间的CPU使用率 | |
%iowait | CPU等待IO的百分比 | 重点关注:%iowait太高表示存在I/O瓶颈,即磁盘IO没法知足业务需求 |
%steal | 虚拟机的虚拟机CPU使用的CPU | |
%idle | 空闲的CPU | 重点关注:若是%idle太低表示CPU使用率比较严重,须要结合内存使用等状况判断CPU是否瓶颈 |
sar -q #查看平均负载性能
字段 | 释义 | 备注 |
runq-sz | 运行队列的长度(等待运行的进程数,每核的CP不能超过3个) | |
plist-sz | 进程列表中的进程(processes)和线程数(threads)的数量 | |
ldavg-1 | 最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推 | |
ldavg-5 | 最后5分钟的CPU平均负载 | |
ldavg-15 | 最后15分钟的CPU平均负载 |
sar -n #统计网络信息spa
sar -n DEV 1 1
字段 | 释义 | 备注 |
IFACE | 本地网卡接口的名称 | |
rxpck/s | 每秒钟接受的数据包 | |
txpck/s | 每秒钟发送的数据包 | |
rxkB/s | 每秒钟接受的数据包大小,单位为KB | |
txkB/s | 每秒钟发送的数据包大小,单位为KB | |
rxcmp/s | 每秒钟接受的压缩数据包 | |
txcmp/s | 每秒钟发送的压缩包 | |
rxmcst/s | 每秒钟接收的多播数据包 |
二、经常使用命令汇总
- sar 5 5 // CPU和IOWAIT统计状态 -----------经常使用
- sar -u 5 5 // CPU的使用状况和IOWAIT信息(同默认监控)
- sar -w 5 5 // 每秒上下文交换的数目
- sar -q 5 5 // 队列的长度(等待运行的进程数)和负载的状态
- sar -n ALL 5 5 // 全部的网络状态信息
- sar -n DEV 5 5 // 网路设备的状态信息
- sar -b 5 5 // IO传送速率