sar命令
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
1、命令与参数
-A:所有报告的总和,如下图
-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 #统计网络信息
sar -n DEV 1 1
字段 | 释义 | 备注 |
IFACE | 本地网卡接口的名称 | |
rxpck/s | 每秒钟接受的数据包 | |
txpck/s | 每秒钟发送的数据包 | |
rxkB/s | 每秒钟接受的数据包大小,单位为KB | |
txkB/s | 每秒钟发送的数据包大小,单位为KB | |
rxcmp/s | 每秒钟接受的压缩数据包 | |
txcmp/s | 每秒钟发送的压缩包 | |
rxmcst/s | 每秒钟接收的多播数据包 |
2、常用命令汇总
- 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传送速率