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. The nfsiostat command reports I/O statistics for network filesystems. The cifsiostat command reports I/O statistics for CIFS filesystems.
| Tags | Monitoring Systems Administration |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
| Implementation | C |
Recent releases


Changes: This version adds fan speed and device temperature statistics to sar and sadc. It also includes various fixes in the cifsiostat and nfsiostat manual pages.


Changes: NFS code has been moved out of iostat and a new command has been created: nfsiostat. The cifsiostat command has been added to display CIFS statistics. Regular expressions support has been added to pidstat's option -C. The option -s has been added to pidstat to display stack statistics.


Changes: The "r_await" and "w_await" fields have been added to iostat's extended statistics. Sar and mpstat now have support for tickless CPUs. NLS has been updated: a Basque translation has been added.


Changes: Support for kernels older than 2.6.x has been removed. iostat now takes into account the POSIXLY_CORRECT environment variable. mpstat can now display per processor software interrupts statistics. Because of a change in the /proc/interrupts file format, mpstat was no longer counting the proper number of interrupts. This is now fixed.


Changes: It is now possible to specify a starting and ending time with sadf -x (this option displays sar data in XML). Interval and count parameters are also taken into account. sar and sadf sometimes didn't handle COMMENT records properly: This is now fixed. The HZ variable was not explicitly set in sadc.c: This has been fixed too. sargraph (a shell script used to make graphs based on sadf XML output) has been added.
Core libraries and agents of the NoMachine NX desktop virtualization system.
- 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.