SAR是一个系统实用程序,为我们提供了许多方法来检查Linux系统上的性能。它提供了有关系统性能的所有方面的详细信息,包括系统负载,CPU使用率,内存使用,分页,交换,磁盘使用,设备加载,网络活动等。
名称“sar”代表“系统活动报告”,它可以显示当前性能,提供基于存储在系统/var/log/sa(或/var/log/sysstat)文件夹中的日志文件的报告,或者设置为自动生成每日报告。它是sysstat的一部分——系统性能监视工具的集合。
检查if.SAR.在系统上可用,运行这样的命令:
$哪个sar / usr / bin / sar
如果没有,您需要使用像“yum安装sysstat”或“apt安装sysstat”的命令安装它。然后,您将能够运行这样的命令,这些命令从系统中收集性能细节:
$ sar -d 5 2 linux 5.11.15-300.fc34.x86_64(蜻蜓)06/16/2021 _x86_64_(2 CPU)12:38:42 PM Dev TPS RKB / S WKB / S DKB / S areq-Sz Aqu-SZ AWAIT%UNT 12:38:47 PM SDA 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.47 PM SDB 0.40 0.00 6.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16.00 0.01 8.50 0.34下午12:38:47 PM SDC 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0 0.38:47 PM DEV TPS RKB / S WKB / S DKB / S ISQ-SZAqu-Sz AWAIT%UNT 12:38:52 PM SDA 2.40 0.00 388.80 0.00 162.00 0.01 2.00 0.34 12:38:52 PM SR0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.001 15.43 0.01 2.000.28 12:38:52 PM SDC 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00.00.00.00.00 0.00.00 0.200 0.00 0.00.00.00.00平均:DEV TPS RKB / S WKB / S DKB / S ISQ-SZ-SZ-SZ-SZ-SZ-SZ-Sz Aqu-Sz等待%IMIT均值:SDA 1.20 0.00 194.40 0.00 162.00 0.00 0.17平均:SR0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.90 0.00 14.00 0.00 15.56 0.013.44 0.31平均:SDC 0.00 0.00 0.00 0.00.00.00.00.00.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00.00
请注意,此报告显示了具有显示活动的设备使用/ dev / sda和/ dev / sdb。它包括两个5秒的报告加平均。如果你深入研究SAR.手册页,您将找到每个数据列的解释。在上面的示例中,上述示例中包括的字段包括:
Dev设备TPS每秒每秒千字节数的千字节数读取的每秒WKB / S千字节数为每秒写入设备的千字节数DKB / S千字节数为每秒丢弃的千字节,每秒丢弃每秒ISQ-SZ平均值I / O Requests的大小(千字节)AQU-SZ AQU-SZ的平均队列长度的请求等待平均时间(以毫秒为单位),用于I / O.请求%I / O向设备发出的经过时间的uter%util百分比
下一个命令通过3个5秒报告和平均值提取内存使用数据。
$ sar -r 5 3 linux 5.11.15-300.fc34.x86_64(dragonfly)06/16/2021 _x86_64_(2 CPU)PM KBMEMFREE KBavail KBMemused%Memused KBBuffers KBCached KBCommit%Commit Kbactive Kbinact Kbdirifile 12:下午9时59 3089584 5231848 471144 7.75 35944 2257060 2126524 17.50 645168 2021508 48下午12点10分04秒3089584 5231848 471140 7.75 35944 2257060 2126524 17.50 645168 2021552 48下午12点10分09秒3089584 5231848 471140 7.75 35944 2257060 2126524 17.50 645168 2021560 144平均:3089584 5231848 471141 7.75 35944 2257060 2126524 17.50 645168 2021540 80
使用宽终端窗口将清楚地使细节更容易查看。
看目前的性能统计数据
这SAR.上面显示的命令都使用实时数据。换句话说,SAR.按照指示和显示数据收集数据。没有涉及日志文件。较旧的统计数据将无法使用。
默认显示为CPU。所以,如果您未指定选项,您将看到类似的东西:
$ SAR 10 2 Linux 5.11.15-300.fc34.x86_64(蜻蜓)06/16/2021 _x86_64_(2 CPU)10:17:50 AM CPU%用户%NEUST%SYSTEM%iWAIT%IDLE IDLE 10:18:00 AM所有0.00 0.10 0.15 0.05 0.00 99.75 10:18:10 AM所有0.05 0.00 0.20 0.00 0.00 99.75平均:所有0.05 0.11 0.03 0.00 99.75
要将类似这样的命令输出保存到文件中,你可以这样运行命令:
$ SAR -o sarfile 6 2
请记住创建的数据文件(在此示例中的SARFILE)将不是是您可以使用cat或more命令显示的文本文件。但是,您可以使用a显示它SAR.包含文件名作为参数的命令:
$ sar -f sarfile Linux 5.11.15-300.fc34。x86_64 (dragonfly) 06/15/2021 _x86_64 (2 CPU) 10:15:52 AM CPU %user %nice %system %iowait %steal %idle 10:15:58 AM all 0.17 0.00 0.17 0.25 0.00 99.42 10:16:04 AM all 0.08 0.00 0.33 0.00 0.00 99.58平均:all 0.12 0.00 0.25 0.12 0.00 99.50
看着以前的性能统计数据
你可以轻松设置SAR.在系统上自动运行,在日常文件中存储其收集的统计数据,在给定的天数(默认为28)后,生成日常报告并删除最旧的文件。这允许您在最近日期审查性能,并比较您使用当前统计数据所见的内容。这通常可以帮助您回答“今天有什么不同”的问题?- 通常在出现问题时,您可能会问自己的第一个问题。
一旦你收集数据使用SAR.,你可以看看它SAR.命令如此命令从SA14数据文件中提取数据:
$ sar -f /var/log/sa/sa14 -b Linux 5.11.15-300.fc34x86_64 (dragonfly) 06/14/2021 _x86_64 (2 CPU) 02:54:22 PM LINUX RESTART (2 CPU) 03:00:19 PM tps rps wtps dtps bread/s bwrtn/s bdscd/s 03:10:19 PM 1.02 0.02 1.00 0.00 0.00 69.05 0.00 03:20:19 PM 1.05 0.02 1.03 0.00 75.03 0.00 03:30:19 PM 0.99 0.02 0.97 0.00 0.28 74.35 0.00 . x86_64 (2 CPU) 02:54:22 PM tps rps wtps dtps bread/s bwrtn/s bdscd/s
为此,您需要先启用SAR.自动运行并在数据文件中保存性能统计信息。执行此操作的过程略有不同,具体取决于您使用的Linux分发。
Fedora
在Fedora上,您将使用像这些这样的命令启用SAR.收集每日数据:
#systemctl start sysstat.service#systemctl启用sysstat.service#systemctl station sysstat.service
在这之后,SAR.将存储其数据文件/ var / log / sa目录。在设置它后几天后,您可以期待看到这样的东西:
$ ls -l总计1096-rw-r - r--。1根根103292 6月14日23:50 SA14 <==数据文件-RW-R - R--。1根root 273544 6月15日23:50 SA15 -RW-R - R--。1根root 156240 6月16日13:30 SA16 -RW-R - R--。1根root 158740 6月15日00:07 SAR14 <==每日报告-RW-R - R--。1根根420712 6月16日00:07 SAR15
文件名中的数字(例如,14)代表本月的日期。三个“SA”文件(SA 14,SA15和SA16)是三天中每一个的数据文件,SAR14和SAR15文件是前两天的性能报告。在Fedora上,您可以使用此命令确定将保存数天的数据数量:
/etc/sysconfig/sysstat HISTORY=28
Ubuntu.
启用SAR.在Ubuntu和相关系统上,编辑/ etc / default / sysstat文件和更改启用=“false”到启用=“true”。
启用=“true”
日志文件将存储在/ var / log / sysstat。
查看每日报告
查看每日的任何一个SAR.报告(例如,SAR15),您可以简单地使用命令更多的或者猫。这些文件是简单的文本文件。
每天一天结束(午夜后不久),将提供一个像“SAR15”这样的名称提供的全日报告。虽然“SA14”等文件用于收集原始数据,但“SAR14”等文件是包含日常报告的文本文件。它们包含很多性能细节。
$ wc -l sar15 4701 sar15x86_64(蜻蜓)2021-06-15 _x86_64_ CPU (2) 00:00:19 usr % sys百分比% iowait CPU % %偷% irq %软%客人% gnice %闲置00:10:19所有0.07 0.00 0.12 0.05 0.00 0.01 0.01 0.00 0.00 99.74 00:10:19 0 0.03 0.01 0.05 0.02 0.00 0.00 0.01 0.00 0.00 99.88 00:10:19 1 0.10 0.00 0.20 0.08 0.00 0.01 0.01 0.00 0.07 0.00 - 0.10 0.04 - 0.00 0.00 - 99.60 00:20:191 0.12 0.00 0.18 0.07 0.00 0.01 0.01 0.00 0.00 99.60 00:30:19所有0.06 0.00 0.10 0.06 0.00 0.01 0.01 0.00 0.00 0.00 99.76…
要从日常数据文件(不是报表文件)中的数据中提取数据,您将使用类似-f选项使用这样的命令指定要使用的数据文件:
$ sar -f sa15 | head -22 Linux 5.11.15-300.fc34。x86_64(蜻蜓)06/15/2021 _x86_64_ CPU (2) 12:00:19 iowait CPU系统%好% %用户% %偷%闲置12:10:19是所有0.07 0.00 0.14 0.05 0.00 - 99.74 12:20:19是0.07 0.00 0.11 0.04 0.00 99.77 12:30:19点所有0.06 0.00 0.12 0.06 0.00 99.76 12:40:19点所有0.06 0.00 0.12 0.05 0.00 - 99.77 12:50:19是0.07 0.00 0.11 0.05 0.00 99.77 01:00:19all 0.07 0.02 0.12 0.05 0.00 99.74 01:10:19 AM all 0.07 0.00 0.11 0.05 0.00 99.77 01:20:19 AM all 0.30 0.00 0.12 0.04 0.00 99.53 01:30:19 AM all 0.07 0.00 0.11 0.04 0.00 99.77 01:40:19 AM all 0.07 0.00 0.11 0.03 0.00 99.78 01:50:19 AM all 0.07 0.00 0.12 0.03 0.00 99.78 02:00:19 AM all 0.06 0.00 0.12 0.03 0.00 99.78 02:10:19 AM all 0.06 0.00 0.13 0.04 0.00 99.77 02:20:19 AM all 0.06 0.00 0.12 0.04 0.00 99.78 02:30:19 AM all 0.06 0.00 0.12 0.02 0.00 99.79 02:40:19 AM all 0.07 0.00 0.12 0.03 0.00 99.79 02:50:19 AM all 0.07 0.94 0.20 0.05 0.00 98.76 03:00:19 AM all 0.18 0.00 0.12 0.03 0.00 99.67 03:10:19 AM all 0.06 0.00 0.12 0.04 0.00 99.78
除了文件名中,您可以根据下一个示例中的文件名来指定start(-s)和结束(-e)次。
$ sar-s 11:00 -e 12:00 -f sa15 linux 5.11.15-300.fc34.x86_64(蜻蜓)06/15/2021 _x86_64_(2 CPU)11:00:19 AM CPU%用户%nice%系统%iowait%窃取%闲置11:10:19 AM所有0. 0.00 0.17 0.00 0.05 0.00 99.73 11:10:19 AM 99.73 11:10:19 AM 99.73 11:30:19 AM AM 0.05 0.17 0.05 0.00 99.73 11:40:19 AM所有0.18 0.17 0.17 0.05 0.05 0.00 0.05 0.0 0 0.06 0.02 0.02 0.05 0.05 0.00 99.69平均:所有0.08 0.00 0.17 0.00 0.00 99.70
选项,选项和选项
您可以使用SAR.显示与以下相关的统计数据:
- 寻呼(SAR -B)
- I / O和转移率(SAR -B)
- 块设备(SAR -D)
- 目前安装的文件系统(SAR -F)
- 巨大的页面利用率(sar -H)
- 中断(SAR -I)
- 电源管理(sar -m)
- 网络统计(SAR -N)
- 运行队列和加载平均值(SAR -Q)
- 内存用法(SAR -R)
- 交换利用率(sar -S)
- CPU利用率(SAR -U)
- inode的状态,文件和其他内核表(SAR -V)
- 交换(SAR -W)
- 上下文切换(SAR -W)
- TTY设备活动(SAR -Y)
事实上,获得所有这些选项的列表的最简单方法以及它们所代表的是要问的SAR.求助。请注意,对于某些选项,如网络,您可以选择您希望查看哪种活动(例如,TCP或套接字)。
使用方法:sar [options] [[ ]]主要选项和报告(报告名称在方括号之间):-B分页统计[A_PAGE] -B I/O和传输速率统计[A_IO] -d块设备统计[A_DISK] -F [MOUNT]文件系统统计[A_FS] -H大页面利用率统计[A_HUGE] -I { | SUM | ALL}中断统计[A_IRQ] -m { [,…| ALL}电源管理统计[A_PWR_…]关键字:CPU CPU instantaneous clock frequency FAN Fans speed FREQ CPU average clock frequency IN Voltage inputs TEMP Devices temperature USB USB devices plugged into the system -n { [,...] | ALL } Network statistics [A_NET_...] Keywords are: DEV Network interfaces EDEV Network interfaces (errors) NFS NFS client NFSD NFS server SOCK Sockets (v4) IP IP traffic (v4) EIP IP traffic (v4) (errors) ICMP ICMP traffic (v4) EICMP ICMP traffic (v4) (errors) TCP TCP traffic (v4) ETCP TCP traffic (v4) (errors) UDP UDP traffic (v4) SOCK6 Sockets (v6) IP6 IP traffic (v6) EIP6 IP traffic (v6) (errors) ICMP6 ICMP traffic (v6) EICMP6 ICMP traffic (v6) (errors) UDP6 UDP traffic (v6) FC Fibre channel HBAs SOFT Software-based network processing -q [ [,...] | PSI | ALL ] System load and pressure-stall statistics Keywords are: LOAD Queue length and load average statistics [A_QUEUE] CPU Pressure-stall CPU statistics [A_PSI_CPU] IO Pressure-stall I/O statistics [A_PSI_IO] MEM Pressure-stall memory statistics [A_PSI_MEM] -r [ ALL ] Memory utilization statistics [A_MEMORY] -S Swap space utilization statistics [A_MEMORY] -u [ ALL ] CPU utilization statistics [A_CPU] -v Kernel tables statistics [A_KTABLES] -W Swapping statistics [A_SWAP] -w Task creation and system switching statistics [A_PCSW] -y TTY devices statistics [A_SERIAL]
选择太多了!但是,您可以使用-一种选项以收集包含在字符串“bbdfhsvwwy”中包含的所有选项提供的数据。
包起来
尽管SAR.易于安装和使用,它提供了许多有关系统的表现方式的有价值的详细信息,可能会帮助您钻取出现问题时出现问题的原因。
唯一的“问题”是SAR.是它产生了很多数据,你必须习惯于使用它,熟悉系统上的例行性能看起来像在不寻常的表现或令人担忧的原因之前都会跳出你。