sar命令使用(系统活动情况报告)
一、概述
1、功能简介:
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
2、开启数据收集:
使用该命令时需要注意已开启数据收集,不然会报以下错误
Cannot open /var/log/sysstat/sa20: No such file or directory
Please check if data collecting is enabled
开启方法如下:
sudo vi /etc/default/sysstat //把false修改为true
sudo service sysstat restart //重启sysstat服务
3、基础语法格式:
sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
若要将统计结果保存到文件使用 -o 文件名,读取则使用 -f 文件名。
二、CPU相关
sar -p (查看全天CPU情况)
sar -u 1 10 (1:每隔一秒,10:写入10次)
查看平均负载:sar -q 1 3
二、 内存相关
1、查看利用率
sar -r (查看全天,需要注意开启数据收集)
sar -r 1 10 (1:每隔一秒,10:写入10次)
2、查看页面交换发生状况
页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用这个命令来确认是否发生了大量的交换。
sar -W 1 3
三、磁盘I/O
1、块设备的活跃信息
sar -d (查看全天,需要注意开启数据收集)
sar -d 1 2 (1:每隔一秒,2:写入2次)
2、查看IO和传递速率 sar -b
sar -b 1 3
四、网络统计信息
sar -n { <关键词> [,...] | ALL }
关键词可以是:
DEV 网卡
EDEV 网卡 (错误)
NFS NFS 客户端
NFSD NFS 服务器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (错误)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (错误)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (错误)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (错误)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (错误)
UDP6 UDP 流 (v6)
1、网卡信息
sar -n DEV (查看全天,需要注意开启数据收集)
sar -n DEV 1 2 (1:每隔一秒,2:写入2次)
2、网络设备通信失败信息
sar -n EDEV 1 1
3、统计socket连接信息
sar -n SOCK 1 1
4、 TCP连接的统计
sar -n TCP 1 1
附
1、命令快查:
sar 1 1 // CPU和IOWAIT统计状态
sar -b 1 1 // IO传送速率
sar -B 1 1 // 页交换速率
sar -c 1 1 // 进程创建的速率
sar -d 1 1 // 块设备的活跃信息
sar -n DEV 1 1 // 网路设备的状态信息
sar -n SOCK 1 1 // SOCK的使用情况
sar -n ALL 1 1 // 所有的网络状态信息
sar -P ALL 1 1 // 每颗CPU的使用状态信息和IOWAIT统计状态
sar -q 1 1 // 队列的长度(等待运行的进程数)和负载的状态
sar -r 1 1 // 内存和swap空间使用情况
sar -R 1 1 // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
sar -u 1 1 // CPU的使用情况和IOWAIT信息(同默认监控)
sar -v 1 1 // inode, file and other kernel tablesd的状态信息
sar -w 1 1 // 每秒上下文交换的数目
sar -W 1 1 // SWAP交换的统计信息(监控状态同iostat 的si so)
sar -x 2906 1 1 // 显示指定进程的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
sar -y 1 1 // TTY设备的活动状态
2、sar 参数说明
-A 汇总所有的报告
-a 报告文件读写使用情况
-B 报告附加的缓存的使用情况
-b 报告缓存的使用情况
-c 报告系统调用的使用情况
-d 报告磁盘的使用情况
-g 报告串口的使用情况
-h 报告关于buffer使用的统计数据
-m 报告IPC消息队列和信号量的使用情况
-n 报告命名cache的使用情况
-p 报告调页活动的使用情况
-q 报告运行队列和交换队列的平均长度
-R 报告进程的活动情况
-r 报告没有使用的内存页面和硬盘块
-u 报告CPU的利用率
-v 报告进程、i节点、文件和锁表状态
-w 报告系统交换活动状况
-y 报告TTY设备活动状况