sar是sysstat包提供的命令,如果要使用sar命令,则需先安装sysstat工具。而如果要通过sar查看历史统计数据,则需先启动sysstat。
sysstat服务安装:yum install -y sysstat
sysstat配置文件:/etc/sysconfig/sysstat
sysstat服务启动:systemctl start sysstat
sar命令行格式:sar [options] [interval [count]]
如果无interval参数,则展示历史统计信息;如果有,则展示当前状态信息。
interval以秒为单位。
sar的日志文件保存在/var/log/sa/目录下。
1.CPU使用情况
命令:sar -u [-P {<cpu id> [,…] | ALL}] [interval [count]]
此命令展示的信息如下:
(1)CPU:CPU标识符,all表示平均。
(2)%user:用户空间的CPU使用率。
(3)%nice:改变过优先级的进程的CPU使用率。
(4)%system:内核空间的CPU使用率。
(5)%iowait:CPU等待IO的时间百分比。
(6)%steal:虚拟机的CPU使用占宿主机的比例。
(7)%idle:空闲的CPU的时间比例。
2.系统负载
命令:sar -q [interval [count]]
展示信息如下:
(1)runq-sz:运行队列的进程数
(2)plist-sz:进程列表中的进程和线程的数量
(3)ldavg-1:最近1分钟CPU平均负载
(4)ldavg-5:最近5分钟CPU平均负载
(5)ldavg-15:最近15分钟CPU平均负载
(6)blocked:当前阻塞的进程数
3.内存使用情况
命令:sar -r [interval [count]]
展示的信息如下(内存单位为KB):
(1)kbmemfree:空闲的物理内存大小
(2)kbmemused:已用物理内存大小
(3)%memused:已用物理内存的比率
(4)kbbuffers:内核中作为缓冲区的物理内存大小
(5)kbcached:缓存的文件大小
(6)kbcommit:保证当前系统正常运行所需的最小内存
(7)commit:kbcommit与内存总量(物理内存+Swap分区)的百分比
(8)kbactive:活跃的内存大小
(9)kbinact:不活跃的内存大小
(10)kbdirty:等待写入磁盘的内存大小
4.磁盘IO统计
命令:sar -d [interval [count]]
展示的信息如下:
(1)DEV:磁盘设备名称
(2)tps:每秒物理磁盘I/O发生的次数
(3)rd_sec/s:每秒读扇区的次数
(4)wr_sec/s:每秒写扇区的次数
(5)avgrq-sz:平均每次设备I/O操作的数据大小(扇区)
(6)avgqu-sz:磁盘请求队列的平均长度
(7)await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,毫秒。
(8)svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间。
(9)%util:I/O请求时间占CPU的百分比
通过“cat /proc/partitions”命令可查看磁盘分区情况。通过major和minor字段组合成设备名称。
5.网络IO统计
命令:sar -n {<keyword> [,…] | ALL} [interval [count]]
keyword有以下取值:
(1)DEV:显示网络接口信息
(2)EDEV:显示网络错误的统计数据
(3)NFS:统计活动的NFS客户端信息
(4)NFSD:统计NFS服务器的信息
(5)SOCK:套接字信息
(6)ALL:以上所有
5.1.DEV信息
主要有以下字段信息。
(1)IFACE:LAN接口网络设备的名称;
(2)rxpck/s:每秒钟接收的数据包;
(3)txpck/s:每秒钟发送的数据包;
(4)rxkB/s:每秒钟接收的字节数;
(5)txkB/s:每秒钟发送的字节数;
(6)rxcmp/s:每秒钟接收的压缩数据包;
(7)txcmp/s:每秒钟发送的压缩数据包;
(8)rxmcst/s:每秒钟接收的多播数据包; ● ●
5.2.EDEV信息
主要有以下字段信息。
(1)IFACE:LAN接口网络设备的名称;
(2)rxerr/s:每秒钟接收的坏数据包;
(3)txerr/s:每秒钟发送的坏数据包;
(4)coll/s:每秒冲突数;
(5)rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数;
(6)txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数;
(7)txcarr/s:发送数据包时,每秒载波错误数;
(8)rxfram/s:每秒接收数据包的帧对齐错误数;
(9)rxfifo/s:接收的数据包每秒FIFO过速的错误数;
(10)txfifo/s:发送的数据包每秒FIFO过速的错误数
5.3.SOCK信息
主要有以下字段信息。
(1)totsck:使用的套接字总数量;
(2)tcpsck:使用的TCP套接字数量;
(3)udpsck:使用的UDP套接字数量;
(3)rawsck:使用的RAW套接字数量;
(5)ip-frag:当前的IP分片的数目;
(6)tcp-tw:TCP套接字中处于TIME-WAIT状态的连接数量
6.系统swap分区统计
命令:sar -W [interval [count]]
interval以秒为单位。
展示的信息如下:
(1)pswpin/s:每秒从swap到系统的交换页面(swap page)数量
(2)pswpott/s:每秒从系统交换到swap的交换页面(swap page)数量
7.IO和传递速率统计
命令:sar -b [interval [count]]
展示的信息如下:
(1)tps:磁盘每秒IO总数
(2)rtps:每秒从磁盘读取的IO数量
(3)wtps:每秒写入到磁盘的IO数量
(4)bread/s:每秒从磁盘读取的块总数
(5)bwrtn/s:每秒写入磁盘的块总数
8.统计结果保存到文件
一般来说,如果启动了sysstat,则会自动把信息输出到/var/log/sa目录下(可根据sysstat配置进行修改)。
保存命令:sar [options] -o <filename>
查看命令:sar -f <filename>
读取sar日志文件命令案例:sar -r -f /var/log/sa/sa04