它是一个软件包,包括检测系统性能及效率的一组工具,这些工具对我们收集系统性能数据很有帮助,比如CPU使用率、磁盘和网络吞吐数据等,对这些数据的收集和分析,有利于判断系统运行是否正常,所有它是提高系统运行效率、安全运行服务的得力助手。
这个软件包通常Linux现在都已经自带有,如果没有直接rpm -y install sysstat
看看sysstat都有哪些命令及功能:
[root@mage-monitor-01~/]# rpm -ql sysstat /etc/cron.d/sysstat #计划任务 /etc/sysconfig/sysstat /etc/sysconfig/sysstat.ioconf /usr/bin/cifsiostat # CIFS(Common Internet File System)的统计信息 /usr/bin/iostat # 工具提供CPU使用率及硬盘吞吐效率的数据; #比较核心的工具 /usr/bin/mpstat # 工具提供单个处理器或多个处理器相关数据; /usr/bin/nfsiostat-sysstat # NFS(Network File System)的I/O统计信息。 /usr/bin/pidstat # 关于运行中的进程/任务、CPU、内存等的统计信息 /usr/bin/sadf # 显示被sar通过多种格式收集的数据; /usr/bin/sar # 工具负责收集、报告并存储系统活跃的信息; #统计数据的核心工具 /usr/bin/tapestat /usr/lib/systemd/system/sysstat.service /usr/lib64/sa /usr/lib64/sa/sa1 # 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,是为sadc所设计的程序前端程序; /usr/lib64/sa/sa2 # 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用 /usr/lib64/sa/sadc # 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
/var/log/sa # 默认统计信息保存的位置
1.iostat
SYNOPSIS
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g group_name ] [ -p [ device [,...] | ALL ] ] [ device [...] | ALL ] [ interval [ count ] ]
参数意思:我就介绍一下常用的吧,全面的介绍可以参考man帮助!
-c : 仅显示cpu的状态
-d : 仅显示存储设备的状态,不可以和-c一起使用
-k :默认显示的是读入读出的block信息,用-k可以改成KB大小来显示 -m
-t : 显示日期
-p device | ALL :
device为某个设备或者某个分区,如果使用ALL,就表示要显示所有分区和设备的信息
-x 显示扩展状态,显示出更多内容
实例1:
iostat
为所有CPU和设备自启动报告显示单个历史记录。
iostat -d 2
以两秒的时间间隔显示一个连续的设备报告。
iostat -d 2 6
为所有设备显示两个秒间隔的六个报告。
iostat -x sda sdb 2 6
为设备SDA和SDB显示两个间隔的六个扩展统计报告。
iostat -p sda 2 6
为设备SDA及其所有分区(SDA1等)以六秒的间隔显示两个报告。
rrqm/s: 每秒进行 所有队列到设备 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行所有队列到设备的写操作数目。即 wmerge/s
r/s: 每秒完成总(合并后)的读 I/O 设备次数。即 wmerge(rio)/s
w/s: 每秒完成总(合并后)的写 I/O 设备次数。即 wmerge(wio)/s
rsec/s: 每秒从设备读取的扇区数(千字节,兆字节)。
wsec/s: 每秒写入设备的扇区数(千字节,兆字节)。
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 (ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 (use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。
delta(use)/s/1000 (因为use的单位为毫秒)如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait. #CPU空闲等待时间