The sysstat package contains the sar, sadf, iostat, mpstat, and pidstat commands for Linux. The sar command collects and reports system activity information. The statistics reported by sar concern I/O transfer rates, paging activity, process-related activites, interrupts, network activity, memory and swap space utilization, CPU utilization, kernel activities, and TTY statistics, among others. The sadf command may be used to display data collected by sar in various formats. The iostat command reports CPU statistics and I/O statistics for tty devices and disks. The pidstat command reports statistics for Linux processes. The mpstat command reports global and per-processor statistics.
| Tags | Monitoring Systems Administration |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
| Implementation | C |
Recent releases


Changes: The option -z has been added to iostat, and tells iostat to omit output for any devices for which there was no activity during the sample period. An mpstat bug has been fixed where interrupt values were read as integers instead of unsigned integers. sar -n ALL didn't select IPv6 statistics. This is now fixed. NLS: a Latvian translation has been added.


Changes: sadc can now collect partition statistics in addition to disk ones. A memory corruption has been fixed in pidstat and iostat. This corruption could happen when a list of comma-separated values was entered on the command line following the -p option. configure now takes into account a new variable named rcdir, which may be used to specify the directory where startup scripts will be installed. NLS translations have been updated.


Changes: A crash with sar where a pointer was freed twice was fixed. NLS translations have been updated.


Changes: Power management statistics have been added to sar. This release no longer truncates the interval of time to 32 bits, as this may cause some problems when displaying average values statistics on machines with hundreds of CPUs. A small bug in sar where it didn't parse arguments properly when some options were entered in a specific order has been fixed.


Changes: Support was added for IPv6-related protocols. iostat now displays statistics for devices only (and not partitions) when its -d option is not used. Extended statistics are now available from iostat even for partitions with recent kernels. A bug was fixed where iostat was unable to read stats from sysfs for devices which had a slash in their names (e.g. /dev/cciss/c0d0). A bug was fixed in iostat where %CPU spent servicing hard and soft IRQ were counted twice.
- All comments
Recent commentsRe: report sar7.16 problem and attach patch for it
Thanks for this patch. It has been included in sysstat 8.0.0.
report sar7.16 problem and attach patch for it
Hello, Mr.Sebastien Godard .
When I used sar7.16,I found a problem.
After adding the parameters "-s 23:59:45 -e 00:00:15",it means sar will read the records at 23:59:45~00:00:15 from sarfile,but
the result is that sar only read the records at 23:59:45-23:59:55 from sarfile,the records after 00:00:00 didn't read from sarfile.
I have made a patch to solve the problem.
To repeat this problem,you could do as following:
Step1:run the script
----------------------------------------------------------------------
#!/bin/sh
DATE=`date +%m%d%H%M%S`
date -s 23:59:45
echo "Now time has been set "`date`
echo "Sar starts to write in sar.$DATE "
sar 5 10 -o ./sar.$DATE
hwclock --hctosys
-----------------------------------------------------------------------
After running,it will create a sarfile.
Step2:read created sarfile
Sar Version: sar 7.16
[root@localhost sysstat-7.1.6]# sar -V
sysstat version 7.1.6
(C) Sebastien Godard (sysstat <at> wanadoo.fr)
[root@localhost sysstat-7.1.6]# sar -f testsar/sar.0810000205
Linux (localhost.localdomain) 08/10/2007
23:59:45 CPU %user %nice %system %iowait %steal %idle
23:59:50 all 4.19 0.00 6.59 0.00 0.00 89.22
23:59:55 all 8.02 0.20 11.42 0.00 0.00 80.36
00:00:00 all 5.59 0.00 9.58 0.00 0.00 84.83
00:00:05 all 4.60 0.40 6.60 0.00 0.00 88.40
00:00:10 all 4.61 0.00 6.61 0.00 0.00 88.78
00:00:15 all 3.99 0.20 9.58 2.20 0.00 84.03
00:00:20 all 4.80 0.20 8.20 0.60 0.00 86.20
00:00:25 all 4.39 0.20 6.39 0.00 0.00 89.02
00:00:30 all 4.21 0.00 7.62 0.00 0.00 88.18
00:00:35 all 4.39 0.20 7.39 0.20 0.00 87.82
00:00:40 all 4.20 0.20 7.40 0.00 0.00 88.20
00:00:45 all 7.80 0.00 9.20 1.00 0.00 82.00
Average: all 5.06 0.13 8.05 0.33 0.00 86.42
Created sarfile starts with 23:59:45 ends with 00:00:45
Step3:Problem turn out
[root@localhost sysstat-7.1.6]# sar -f testsar/sar.0810000205 -s 23:59:45 -e 00:00:15
Linux (localhost.localdomain) 08/10/2007
The bug can be fixed with the following patch:
Signed-off-by: "Yu Yongcong" <yuyc@cn.fujitsu.com>
--- sysstat-7.1.6/sar.c.orig 2007-08-14 08:09:28.000000000 +0800
+++ sysstat-7.1.6/sar.c 2007-08-14 10:13:47.000000000 +0800
@@ -840,6 +840,13 @@
set_timestamp(!curr, cur_time[!curr], 16);
/* Set current timestamp */
set_timestamp(curr, cur_time[curr], 16);
+
+ if (tm_start.use && file_stats[!curr].ust_time
+ && (file_stats[curr].ust_time > file_stats[!curr].ust_time)
+ && (file_stats[curr].hour < file_stats[!curr].hour)) {
+ file_stats[curr].hour += 24;
+ rectime.tm_hour += 24;
+ }
/* Check time (2) */
if (use_tm_start && (datecmp(&rectime, &tm_start) < 0))
@@ -1622,6 +1629,9 @@
((interval < 0) && !from_file[0] && !to_file[0]))
set_default_file(&rectime, from_file);
+ if (tm_start.use && tm_end.use && (tm_end.tm_hour < tm_start.tm_hour))
+ tm_end.tm_hour += 24;
+
/*
* Check option dependencies
*/
Here is the output after the fix:
[root@localhost sysstat-7.1.6]#sar -f testsar/sar.0810000205 -s 23:59:45 -e 00:00:15
Linux (localhost.localdomain) 08/10/2007
23:59:45 CPU %user %nice %system %iowait %steal %idle
23:59:50 all 4.19 0.00 6.59 0.00 0.00 89.22
23:59:55 all 8.02 0.20 11.42 0.00 0.00 80.36
00:00:00 all 5.59 0.00 9.58 0.00 0.00 84.83
00:00:05 all 4.60 0.40 6.60 0.00 0.00 88.40
00:00:10 all 4.61 0.00 6.61 0.00 0.00 88.78
00:00:15 all 3.99 0.20 9.58 2.20 0.00 84.03
Average: all 5.16 0.13 8.40 0.37 0.00 85.94
That's all.
Best Regards.
Re: fix for spec file
OK: spec file updated with sysstat 5.1.4.
Re: compile errors on 2.6
> Hey, just tried to do an rpmbuild
> --rebuild on 5.1.3
>
> noticed that the build failed because
> MAX_BLKDEV isn't defined for 2.6
> kernels, for some reason it was removed
> from major.h.
Yes: MAX_BLKDEV was removed from linux/major.h in 2.6 kernels. Sysstat 5.1.4 has been updated to take this into account.
Re: after all that, sar doesn't work
> pseries-loaner:/usr/src/packages/SOURCES/sysstat-5.1.3
> # ./sar -u 2 5
> exec: No such file or directory
>
This is because sar tries to launch its data collector (sadc) and doesn't find it. Enter "make install" after compiling to install each component in its directory before using sar.