Parth Shah [Wed, 31 Mar 2021 11:59:06 +0000 (17:29 +0530)]
pidstat: Monitor and show stats at the end of the exec program
Do not set alarms for undefined value of the interval. Also allow to
print stats even if the SIGINT/SIGCHLD occurs before first interval.
Hence, the command `pidstat -e <prog-name>`
will monitor the prog-name process and show the PID stats after the
prog-name is completed its execution.
Sebastien GODARD [Sun, 14 Feb 2021 10:07:01 +0000 (11:07 +0100)]
sysstat-12.5.3
sysstat version 12.5.3 final packaging.
Changelog added.
spec and lsm files updated.
This also is mainly a bugfix version (sar, sadf).
One noteworthy new feature is the addition of Link Time Optimization
(LTO) support for smaller binary executables (use --enable-lto to
enable it when compiling sysstat).
IFNAMSIZ value is used to set the maximum length of the network
interface name, and for the definition of structures used to save
data in the binary data files (saDD).
We cannot allow that a new kernel value for IFNAMSIZ changes the format
of saDD binary data files. So now use a constant value of 16 (which is
the present value of IFNAMSIZ).
Sebastien GODARD [Sun, 24 Jan 2021 09:59:17 +0000 (10:59 +0100)]
SVG: Use the "count" parameter entered on the command line
The <count> parameter was not taken into account by sadf when creating
SVG graphs. Fix this.
E.g.: sadf -g datafile 1 10 > data.svg
In this example, the value 10 for the count parameter was not taken
into account and the whole datafile was used to create the graphs.
Sebastien GODARD [Tue, 22 Dec 2020 11:22:30 +0000 (12:22 +0100)]
sar: Fix return code sent by write_stats() function
Make sure that a line of statistics has actually been displayed to
return 1 for the status code value.
When an activity has no item at all for current sample, we should not
return a status code of 1 else we won't display the header line for
next sample.
Sebastien GODARD [Sat, 19 Dec 2020 08:51:54 +0000 (09:51 +0100)]
sysstat-12.5.2
sysstat version 12.5.2 final packaging.
Changelog added.
spec and lsm files updated.
I felt compelled to release this new version because of an annoying bug
concerning structures alignment on 32 bit systems. It made saDD
datafiles created on 32 bit systems unreadable on 64 bit ones. And bugs
impacting datafiles structure and/or format are always pernicious...
So please upgrade. Thanks go to Aleksei Nikiforov for reporting (and
fixing) it.
Sebastien GODARD [Sat, 19 Dec 2020 08:08:59 +0000 (09:08 +0100)]
simtest: Check for 32 bit version of lm_sensors library
This version of lm_sensors library will be used to compile the 32 bit
version of sadc if available.
32 bit version of sadc is useful to make sure that datafiles created by
a 64 or 32 bit version of sadc can be read on every architecture.
Sebastien GODARD [Sat, 21 Nov 2020 08:14:31 +0000 (09:14 +0100)]
sysstat-12.5.1
sysstat version 12.5.1 final packaging.
Changelog added.
spec and lsm files updated.
This is mainly a bugfix release with some small improvements lying around...
Nothing to write home about, but I thought it was time to make a release,
the previous one being almost 4 months old.
Sebastien GODARD [Wed, 11 Nov 2020 15:33:32 +0000 (16:33 +0100)]
sa1: Add --rotate option
This option tells sa1 to add a statistics record to the system activity
daily data file of the previous day. This should be done shortly after
midnight in order to make sure that the data file covers the whole day,
including the last interval of time just before midnight.
sar: Make option -j work with filesystem statistics
This patch makes it possible to display the persistent filename of the
device (e.g. UUID instead of /dev/sda...) when displaying filesystems
statistics (sar -F).
The iowait value reported by the kernel on NO_HZ systems can decrement
as a result of inaccurate iowait tracking. Waiting on IO can be first
accounted as iowait but then instead as idle.
Function get_per_cpu_interval() considers iowait going backwards between
two readings as a CPU coming back online and resets the iowait value of
the first reading to 0. If iowait is decremented only because of
inaccurate tracking, this causes that almost all time between the two
readings is incorrectly recognized by sar as being spent in iowait.
The patch updates the code in get_per_cpu_interval() to recognize this
situation. If the iowait value between two readings decremented but the
idle value did not then the code now considers it as a problem with the
iowait reporting and corrects the first value according to the second
reading. Otherwise, the code remains treating decremented iowait as a
CPU coming back online.
Petr Pavlu [Wed, 2 Sep 2020 08:24:43 +0000 (10:24 +0200)]
Workaround for iowait being decremented
The iowait value reported by the kernel on NO_HZ systems can decrement
as a result of inaccurate iowait tracking. Waiting on IO can be first
accounted as iowait but then instead as idle.
Function get_per_cpu_interval() considers iowait going backwards between
two readings as a CPU coming back online and resets the iowait value of
the first reading to 0. If iowait is decremented only because of
inaccurate tracking, this causes that almost all time between the two
readings is incorrectly recognized by sar as being spent in iowait.
The patch updates the code in get_per_cpu_interval() to recognize this
situation. If the iowait value between two readings decremented but the
idle value did not then the code now considers it as a problem with the
iowait reporting and corrects the first value according to the second
reading. Otherwise, the code remains treating decremented iowait as a
CPU coming back online.
Sebastien GODARD [Fri, 21 Aug 2020 08:36:47 +0000 (10:36 +0200)]
sar manual page: Update definition for runq-sz metric
The runq-sz metric was defined as the number of tasks waiting for run
time, and calculated as (number of tasks running+waiting for run time)
minus 1 (to not count current running process).
This was OK on UP machines, but is no longer true on SMP/multi-cores
machines. So update the metric's definition: runq-sz is the number of
tasks running or waiting for run time (we still don't count current
running process).