]> granicus.if.org Git - sysstat/log
sysstat
12 years agosadc now overwrites its daily data file when it is from a previous month.
Sebastien Godard [Tue, 8 May 2012 13:12:15 +0000 (15:12 +0200)]
sadc now overwrites its daily data file when it is from a previous month.

When the output file is specified as "-", sadc now overwrites the daily
data file if it is from a previous month. This is useful to prevent data
from several months from being saved in the same file.

Mail from Vitezslav Cizek <vcizek@suse.cz>:

Hi,
/var/log/sa/saXX files don't get overwritten when new month comes.
The new data is appended to the end.
Reproduced with several versions of sysstat.

I browsed the code, but couldn't find any part relevant
to the date checking when opening files.

It works as advertised in manpage with the attached patch.
(Against 10.0.4)

The patch doesn't check whether it operates on the standard file or not.

12 years agoChange time format from HH-MM-SS to HH:MM:SS in the reports
Sebastien Godard [Tue, 8 May 2012 12:25:52 +0000 (14:25 +0200)]
Change time format from HH-MM-SS to HH:MM:SS in the reports
displyaed by sadf.

Change the time format to HH:MM:SS to be consistent with XSD
document. This was already the format used a few versions ago
and was changed for an unknown reason.

Mail from Frank Glinka <glinkaf@uni-muenster.de> 24/04/2012:

Your sysstat.xsd specifies the type xs:time for the time elements within the XML. According to the schema specification the format then must be HH:MM:SS for the data but sadf's format is HH-MM-SS. Correspondingly, the element is not valid and not parsed by JAXB.

See:
http://www.w3.org/TR/xmlschema-2/#time
http://www.w3schools.com/schema/schema_dtypes_date.asp

12 years agoXSD document updated.
Sebastien Godard [Tue, 8 May 2012 12:18:59 +0000 (14:18 +0200)]
XSD document updated.

A maxOccurs indicator has been added for the timestamp element.
This is indicator is set to "unbounded", which is compulsory here
as the default value is 1 if not specified.

Mail from Frank Glinka <glinkaf@uni-muenster.de> 24/04/2012:

There seem to be gaps/inconsistencies between the produced XML and the  sysstat.xsd that you provide on your website. The xsd does not specify any maximum occurrence indicators, which in that case default to '1'. For example, although the 'timestamp' element occurs multiple times within the 'statistics' element inside the XML, the xsd claims it appears exactly once. In that case, a 'maxOccurs="unbounded"' is required. (This is an issue if I use Java's JAXB and your sysstat.xsd to read & parse the XML file automatically.)

See:
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#Particle_details
http://www.w3schools.com/schema/schema_complex_indicators.asp

12 years agoOptions -g and -T added to iostat. These options enable the user
Sebastien Godard [Mon, 7 May 2012 18:50:56 +0000 (20:50 +0200)]
Options -g and -T added to iostat. These options enable the user
to display statistics for groups of devices.

Option -g adds support for device groups statistics to iostat.
Option -T tells iostat to display global stats for groups only, and not
stats for individual devices in those groups.

On 03/09/2012 11:05 AM, Alain Chéreau wrote:

    J'ai un serveur avec beaucoup de disques et je voulais ne voir que la
    somme des io des disques utilisés dans le meme type d'usage.
    J'ai modifé iostat pour faire le cumul, somme, ou moyenne, par groupes
    de devices et réalisé la somme sur le nom donné.

    J'attache le code modifié qui réalise cela.

On 03/13/2012 01:53 PM, Alain Chéreau wrote:
Bonjour,

un collegue a également l'intention de s'en servir pour transformer les noms de device en nom logique. Pour simplifier la lecture la mise en plce des titres des courbes.

12 years agoSet exit code to 0 for sa2 script shell.
Sebastien Godard [Thu, 15 Mar 2012 15:49:36 +0000 (16:49 +0100)]
Set exit code to 0 for sa2 script shell.

Mail from Peter Schiffer (pschiffe@redhat.com) 13/03/2012

Hello,

we have found minor issue in sysstat. Exit code of sa2 doesn't have to be 0 even if everything is OK. This is because the last operation there is precautionary rmdir which may not have anything to do:

$ sudo sh /usr/lib64/sa/sa2 -A
$ echo $?
1

I'm attaching simple patch adding "exit 0" at the end of sa1 and sa2. What do you think?

Thanks,

12 years agoStart version 10.0.5
Sebastien Godard [Sat, 10 Mar 2012 19:44:54 +0000 (20:44 +0100)]
Start version 10.0.5

CHANGES files updated. configure scripts updated.

12 years agosysstat 10.0.4: Final packaging. v10.0.4
Sebastien Godard [Thu, 8 Mar 2012 19:19:57 +0000 (20:19 +0100)]
sysstat 10.0.4: Final packaging.

Sync'ed with translation project. CHANGES, lsm and spec files updated.

12 years agoThe number of jiffies spent by a CPU in guest mode given by the
Sebastien Godard [Fri, 24 Feb 2012 15:04:06 +0000 (16:04 +0100)]
The number of jiffies spent by a CPU in guest mode given by the
corresponding counter in /proc/stat may be slightly different
from that included in the user counter. Take this into account
when calculating current time interval value.

This should be a very rare case, and the difference barely noticeable.
Mail from Peter Schiffer 23/02/2012:

Hello Sebastien,

I've done all my work on sysstat for now, but there were no new patches for you.

However, there is one patch I don't know origin of. I am sending it to you as attachment. It's in Fedora since sysstat 10.0.0, but there's no bug related to it. Did Ivana send it to you already? Do you have it included in the next development version?

Anyways, you can release next sysstat version now, thank you for waiting.

peter

sysstat-10.0.0-cpu.patch

diff -up sysstat-10.0.0/mpstat.c.pom sysstat-10.0.0/mpstat.c
--- sysstat-10.0.0/mpstat.c.pom 2011-03-11 18:09:57.000000000 +0100
+++ sysstat-10.0.0/mpstat.c 2011-04-04 11:22:20.000000000 +0200
@@ -418,6 +418,9 @@ void write_stats_core(int prev, int curr

  /* Recalculate itv for current proc */
  pc_itv = get_per_cpu_interval(scc, scp);
+ if ((scc->cpu_user - scc->cpu_guest) < (scp->cpu_user - scp->cpu_guest))
+ pc_itv = pc_itv + (scp->cpu_user - scp->cpu_guest) -
+ (scc->cpu_user - scc->cpu_guest);

  if (!pc_itv) {
  /*

12 years agosa1 manual page updated.
Sebastien Godard [Wed, 8 Feb 2012 06:54:10 +0000 (07:54 +0100)]
sa1 manual page updated.

Give a better example (in the EXAMPLE section) of how to use sa1 shell
script. In particular, tell that option -S from sadc can be used with sa1.

12 years agoiostat didn't display target device information when a symbolic
Sebastien Godard [Tue, 7 Feb 2012 21:14:12 +0000 (22:14 +0100)]
iostat didn't display target device information when a symbolic
link was specified as a parameter. This is now fixed.

Mail from Peter Schiffer <pschiffe@redhat.com> 30/01/2012

Hello Sebastien,

my name is Peter Schiffer and I am a new maintainer of sysstat package in RHEL and Fedora.

We have found the following issue:
iostat does not display target device information when a symbolic link is specified as a parameter

example:
Linux 2.6.32-202.el6.x86_64 (localhost.localdomain)     11/30/11  _x86_64_        (16 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                   0.04      0.00         0.05       0.04      0.00   99.87

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

I am proposing one solution how this could be fixed. What is your opinion about it?

Thanks,

peter

symlinks.patch

diff -upr sysstat-10.0.3.old/common.c sysstat-10.0.3/common.c
--- sysstat-10.0.3.old/common.c 2011-11-20 16:38:04.000000000 +0100
+++ sysstat-10.0.3/common.c 2012-01-30 15:54:28.856597845 +0100
@@ -379,10 +379,10 @@ int get_win_height(void)

 /*
  ***************************************************************************
- * Remove /dev from path name.
+ * Canonicalize and remove /dev from path name.
  *
  * IN:
- * @name Device name (may begins with "/dev/")
+ * @name Device name (may begins with "/dev/" or can be a symlink)
  *
  * RETURNS:
  * Device basename.
@@ -390,10 +390,33 @@ int get_win_height(void)
  */
 char *device_name(char *name)
 {
- if (!strncmp(name, "/dev/", 5))
- return name + 5;
+ char *out;
+ char *resolved_name;

- return name;
+ /* realpath() creates new string, so we need to free it later. */
+ resolved_name = realpath(name, 0);
+
+ /* If path doesn't exists, just copy the input and return it. We have to
+    copy because result of this function is always freed. */
+ if (!resolved_name) {
+ out = (char *)calloc(1, sizeof(name));
+ strncpy(out, name, sizeof(name));
+
+ return out;
+ }
+
+ /* We need to copy the path without "/dev/" prefix because we cannot free
+    'resolved_name + 5' string. */
+ if (!strncmp(resolved_name, "/dev/", 5)) {
+ out = (char *)calloc(1, sizeof(resolved_name) - 4);
+ strncpy(out, resolved_name + 5, sizeof(resolved_name) - 4);
+
+ free(resolved_name);
+
+ return out;
+ }
+
+ return resolved_name;
 }

 /*
diff -upr sysstat-10.0.3.old/iostat.c sysstat-10.0.3/iostat.c
--- sysstat-10.0.3.old/iostat.c 2011-11-20 16:38:04.000000000 +0100
+++ sysstat-10.0.3/iostat.c 2012-01-30 15:57:41.551553692 +0100
@@ -274,6 +274,8 @@ int update_dev_list(int *dlist_idx, char
  strncpy(sdli->dev_name, device_name, MAX_NAME_LEN - 1);
  }

+ free(device_name);
+
  return i;
 }

12 years agoFAQ updated.
Sebastien Godard [Sun, 29 Jan 2012 14:28:42 +0000 (15:28 +0100)]
FAQ updated.

A question and answer has been added for sar and for pidstat.

12 years ago[Andrey Borzenkov]: Don't take virtual devices into account in sar -b results.
Sebastien Godard [Sun, 29 Jan 2012 13:43:53 +0000 (14:43 +0100)]
[Andrey Borzenkov]: Don't take virtual devices into account in sar -b results.

Add only physical devices stats to sar -b results. This avoids
multiplying totals when layered devices (device mapper, Linux MD,
etc) are present.

The device is assumed to be virtual if no /sys/block/<device>/device
link exists.

Only sar -b stats are modified, other statistics (e.g. sar -d) as well
as iostat continue to process virtual devices as before.

Problem noticed by Diedrich Ehlerding.

12 years agoconfigure script updated: Added --disable-stripping option.
Sebastien Godard [Mon, 2 Jan 2012 13:50:53 +0000 (14:50 +0100)]
configure script updated: Added --disable-stripping option.

The configure script has been updated, with the addition of a new
option (--disable-stripping) which tells configure to NOT strip
object files (option "-s" is no longer passed to gcc when linking
the binaries).

From Petr Uzel <petr.uzel@suse.cz> 13/11/2011 11:45 AM

Could you please add something like make install_nostrip to the
Makefile? By default, the buildsystem uses LDFLAGS = -s, which always
strips the resulting binary. In openSUSE, we have to patch this,
because we need to strip the binaries on our own (to create
sysstat-debug{source,info} packages).

12 years agoNLS updated. Serbian translation added.
Sebastien Godard [Sun, 1 Jan 2012 07:35:33 +0000 (08:35 +0100)]
NLS updated. Serbian translation added.

Sync'd with translation project. A new translation file has been added (sr.po).

12 years agosysstat 10.0.3 final packaging. v10.0.3
Sebastien Godard [Sun, 20 Nov 2011 16:24:25 +0000 (17:24 +0100)]
sysstat 10.0.3 final packaging.

Updated CHANGES, lsm and spec files.

12 years agoNLS updated.
Sebastien Godard [Sun, 20 Nov 2011 15:35:19 +0000 (16:35 +0100)]
NLS updated.

Sync'd with Translation Project.

12 years agoFixed random crash with iostat when called with
Sebastien Godard [Sun, 20 Nov 2011 15:29:07 +0000 (16:29 +0100)]
Fixed random crash with iostat when called with
option -N [NOVELL Bug#729130].

Mail from Petr Uzel <petr.uzel@suse.cz> 11/13/2011 11:45 AM:

> > On 11/09/2011 01:34 PM, Petr Uzel wrote:
>> > >attached patch fixes
>> > >https://bugzilla.novell.com/show_bug.cgi?id=729130
>> > >
Hi Sebastien,

As far as I understand (please correct me if I'm wrong), sysstat is
hitting unspecified behavior, which might explain why you can not
reproduce the bug.

Check out transfrom_devmapname() function:

while ((dp = readdir(dm_dir)) != NULL) {
/* For each file in DEVMAP_DIR */

snprintf(filen, MAX_FILE_LEN, "%s/%s", DEVMAP_DIR, dp->d_name);
filen[MAX_FILE_LEN - 1] = '\0';

if (stat(filen, &aux) == 0) {
/* Get its minor and major numbers */

dm_major = major(aux.st_rdev);
dm_minor = minor(aux.st_rdev);

if ((dm_minor == minor) && (dm_major == major)) {
[********>]  dm_name = dp->d_name;
break;
}
}
}
closedir(dm_dir);

dm_name points to the memory returned by readdir(), but from 'man
readdir', this memory is not guaranteed to be valid after next call
to readdir or after closedir().

man readdir:

       ....
       The data returned by readdir() may be overwritten by subsequent
       calls to readdir() for the same directory stream.
       ....

man closedir:

       ....
       The  closedir()  function closes the directory stream
       associated with dirp.  A successful call to closedir() also
       closes the underlying file descriptor associated with dirp.
       The directory stream descriptor dirp is not available after
       this call.
       ....

[It is not very clear to me if this also invalidates the dirent
structure]

So the solution is to strncpy the memory before it gets invalidated by
next readdir() or closedir().

Unrelated to this bug:
Could you please add something like make install_nostrip to the
Makefile? By default, the buildsystem uses LDFLAGS = -s, which always
strips the resulting binary. In openSUSE, we have to patch this,
because we need to strip the binaries on our own (to create
sysstat-debug{source,info} packages).

Thanks for your support,

Petr.

12 years agosadf manual page updated.
Sebastien Godard [Fri, 11 Nov 2011 15:18:55 +0000 (16:18 +0100)]
sadf manual page updated.

sadf manual page updated to add information about new -j option.

12 years agoNew output format added to sadf: JSON.
Sebastien Godard [Fri, 11 Nov 2011 15:01:37 +0000 (16:01 +0100)]
New output format added to sadf: JSON.

JSON (JavaScript Object Notation) is a lightweight data interchange
format (less verbose than XML). sadf can now display sar's data
in JSON using a new switch (-j).

12 years agoFixed bugs in sadf XML output and in DTD/XSD documents.
Sebastien Godard [Wed, 31 Aug 2011 13:11:25 +0000 (15:11 +0200)]
Fixed bugs in sadf XML output and in DTD/XSD documents.

On 08/29/2011 02:27 PM, "Jürgen Heinemann (Undefined)" wrote:
> Hallo Sebastian,
> I have found some bugs with sadf -x command.
> You can see my changes in sysstat-10.0.2.rc1.diff attachment.
> The Doctype Declaration in sadf_misc.c isn't set to "sysstat" rootNode
> and timetamp Element closed with child Elements
> See my Example xslt
>
> sadf -P 0,1 -x > input.xml
> xsltproc --encoding utf-8 --novalid sysstat.xslt input.xml
>
> greets Jürgen

/**
* @file   sysstat-10.0.2.rc1.diff
* @author Juergen Heinemann (Undefined) http://www.hjcms.de
* @since  Mon Aug 29 14:11:17 CEST 2011
* @short  diff options:-Nau6
*/
--- ./xml/sysstat.xsd.orig 2011-08-29 13:42:49.124597092 +0200
+++ ./xml/sysstat.xsd 2011-08-29 13:43:54.065167625 +0200
@@ -40,13 +40,13 @@

 <xs:element name="release" type="release-type"></xs:element>
 <xs:simpleType name="release-type">
  <xs:restriction base="xs:string"></xs:restriction>
 </xs:simpleType>

-<xs:element name=machine"" type="machine-type"></xs:element>
+<xs:element name="machine" type="machine-type"></xs:element>
 <xs:simpleType name="machine-type">
  <xs:restriction base="xs:string"></xs:restriction>
 </xs:simpleType>

 <xs:element name="file-date" type="file-date-type"></xs:element>
 <xs:simpleType name="file-date-type">
@@ -284,17 +284,16 @@
  <xs:element name="hugused-percent" type="hundredth-type"></xs:element>
  </xs:sequence>
 </xs:complexType>

 <xs:element name="kernel" type="kernel-type"></xs:element>
 <xs:complexType name="kernel-type">
- <xs:attribute name="dentunusd" type="xs:nonNegativeInteger">
- <xs:attribute name="file-nr" type="xs:nonNegativeInteger">
- <xs:attribute name="inode-nr" type="xs:nonNegativeInteger">
- <xs:attribute name="pty-nr" type="xs:nonNegativeInteger">
- </xs:attribute>
+  <xs:attribute name="dentunusd" type="xs:nonNegativeInteger"></xs:attribute>
+  <xs:attribute name="file-nr" type="xs:nonNegativeInteger"></xs:attribute>
+  <xs:attribute name="inode-nr" type="xs:nonNegativeInteger"></xs:attribute>
+ <xs:attribute name="pty-nr" type="xs:nonNegativeInteger"></xs:attribute>
 </xs:complexType>

 <xs:element name="queue" type="queue-type"></xs:element>
 <xs:complexType name="queue-type">
  <xs:attribute name="runq-sz" type="xs:nonNegativeInteger"></xs:attribute>
  <xs:attribute name="plist-sz" type="xs:nonNegativeInteger"></xs:attribute>
--- ./xml/sysstat.dtd.orig 2011-08-29 14:00:46.827833320 +0200
+++ ./xml/sysstat.dtd 2011-08-29 14:10:59.347827319 +0200
@@ -2,13 +2,16 @@
 <!--DTD v2.12 for sysstat. See sadf.h -->

 <!ELEMENT sysstat (sysdata-version, host)>

 <!ELEMENT sysdata-version (#PCDATA)>

-<!ELEMENT host (sysname, release, machine, number-of-cpus, file-date, statistics, restarts, comments)>
+<!ENTITY % TIMESTAMP_ELEMENTS "cpu-load|cpu-load-all|process-and-context-switch|interrupts|swap-pages|paging|io|memory|hugepages|kernel|queue|serial|disk|network|power-management">
+<!ENTITY % HOST_ELEMENTS "sysname|release|machine|number-of-cpus|file-date|statistics|restarts|comments">
+
+<!ELEMENT host (%HOST_ELEMENTS;)+>
 <!ATTLIST host
  nodename CDATA #REQUIRED
 >

 <!ELEMENT sysname (#PCDATA)>

@@ -19,13 +22,13 @@
 <!ELEMENT number-of-cpus (#PCDATA)>

 <!ELEMENT file-date (#PCDATA)>

 <!ELEMENT statistics (timestamp+)>

-<!ELEMENT timestamp (cpu-load, cpu-load-all, process-and-context-switch, interrupts, swap-pages, paging, io, memory, hugepages, kernel, queue, serial, disk, network, power-management)>
+<!ELEMENT timestamp (%TIMESTAMP_ELEMENTS;)+>
 <!ATTLIST timestamp
  date CDATA #REQUIRED
  time CDATA #REQUIRED
  utc CDATA #REQUIRED
  interval CDATA #REQUIRED
 >
--- ./sadf_misc.c.orig 2011-08-29 13:54:54.673109443 +0200
+++ ./sadf_misc.c 2011-08-29 14:02:55.640212688 +0200
@@ -285,13 +285,13 @@
  ***************************************************************************
  */
 __printf_funct_t print_xml_timestamp(int *tab, int action, char *cur_date,
       char *cur_time, int utc, unsigned long long itv)
 {
  if (action & F_BEGIN) {
- xprintf(*tab, "<timestamp date=\"%s\" time=\"%s\" utc=\"%d\" interval=\"%llu\"/>",
+ xprintf(*tab, "<timestamp date=\"%s\" time=\"%s\" utc=\"%d\" interval=\"%llu\">",
  cur_date, cur_time, utc ? 1 : 0, itv);
  }
  if (action & F_END) {
  xprintf(--(*tab), "</timestamp>");
  }
 }

sysstat.xslt:
============
<?xml version = '1.0' encoding = 'utf-8' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Vorgefertigte templates und Helferlein -->
<xsl:output version="1.0"
  method="xml"
  encoding="utf-8"
  indent="yes"
  media-type="text/xml"
/>

<xsl:template match="*" mode="xml">
<xsl:element name="{name()}">
   <xsl:for-each select="@*">
      <xsl:attribute name="{name()}">
         <xsl:value-of select="." />
      </xsl:attribute>
   </xsl:for-each>
   <xsl:apply-templates select="./*|text()" mode="xml" />
</xsl:element>
</xsl:template>

<xsl:template match="sysstat">
  <xsl:apply-templates match="." mode="xml" />
</xsl:template>

</xsl:stylesheet>

12 years agoVersion 10.0.3 begins.
Sebastien Godard [Wed, 31 Aug 2011 12:46:52 +0000 (14:46 +0200)]
Version 10.0.3 begins.

CHANGES and configure files updated for version 10.0.3.

12 years agoSysstat 10.0.2 final packaging v10.0.2
Sebastien Godard [Sun, 21 Aug 2011 14:22:55 +0000 (16:22 +0200)]
Sysstat 10.0.2 final packaging

Updated CHANGES, lsm and spec files.

12 years agoNLS updated.
Sebastien Godard [Sun, 21 Aug 2011 14:14:18 +0000 (16:14 +0200)]
NLS updated.

Sync'd with translation project.

12 years agoFixed a bug with pidstat, where stats for terminated processes
Sebastien Godard [Tue, 16 Aug 2011 12:13:27 +0000 (14:13 +0200)]
Fixed a bug with pidstat, where stats for terminated processes
were still displayed.

On 07/06/2011 08:40 AM, Kei Ishida wrote:
> Hello
>
> I found the folloring bug of pidstat. I hope this would help.
>
> [Bug description]
> Pidstat displayed pid(s) of dead process(es) every other times
> when multiple pids are specified.
>
> [How reproducible]
> Always. Run pidstat with more then pids to watch, and kill one of them.
>
> [Proposed patch]
> diff -urNp sysstat-10.0.1/pidstat.c sysstat-10.0.1_/pidstat.c
> --- sysstat-10.0.1/pidstat.c 2011-06-01 22:05:12.000000000 +0900
> +++ sysstat-10.0.1_/pidstat.c 2011-07-06 11:05:46.149880175 +0900
> @@ -1011,6 +1011,20 @@ int get_pid_to_display(int prev, int cur
>
>   else if (DISPLAY_PID(pidflag)) {
>
> + unsigned int i;
> + int pid_exists = FALSE;
> +
> + /* See if pid exists in pid_array[] */
> + for (i = 0; i < pid_array_nr; i++) {
> + if ((*pstc)->pid == pid_array[i]) {
> + pid_exists = TRUE;
> + break;
> + }
> + }
> +
> + if (!pid_exists)
> + return 0;
> +
>   *pstp = st_pid_list[prev] + p;
>   }
>
>
> Regards,
> Kei Ishida

12 years agoOption "-P ON" added to mpstat.
Sebastien Godard [Mon, 15 Aug 2011 14:00:05 +0000 (16:00 +0200)]
Option "-P ON" added to mpstat.

This option tells mpstat to display statistics for online
processors only.
mpstat manual page updated.

On 06/30/2011 06:41 AM, Ananth N Mavinakayanahalli wrote:

a. Consistency with output of top and /proc/cpuinfo, both of which won't
     display information of offlined CPUs.
b. On POWER7 for instance, with SMT, when SMT is turned off, 3 of the 4
     CPUs are off-lined. Someone using just mpstat will have no idea that
     he has just 1 CPU underneath while mpstat says he has 4, without an
     indication of which ones are usable and which ones are not.

I think, at the least, the -P switch should be educated with a new
option that displays only online CPU information, if there is a hard
requirement to preserve existing functionality.

12 years agopidstat manual page updated.
Sebastien Godard [Sun, 14 Aug 2011 14:33:55 +0000 (16:33 +0200)]
pidstat manual page updated.

Added the description of field %MEM displayed by pidstat -r.

On 06/29/2011 05:43 AM, Carlos Allegri wrote:
> I'm using pidstat version 9.0.6 for monitoring of a mail server.
> I run: "pidstat -r"
> Then, in the output:  "PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command", I see the column "%MEM" which isn't explained in the manual.
> Could you tell me, which is the meaning of this column?

12 years agosadf manual page updated.
Sebastien Godard [Sat, 13 Aug 2011 13:58:28 +0000 (15:58 +0200)]
sadf manual page updated.

Use of options -t, -H and -T has changed. So updated sadf manual
page accordingly.
Also fix a wrong statement, saying that options -s and -e are ignored
with option -x.

12 years agoDTD and XSD documents updated.
Sebastien Godard [Sat, 13 Aug 2011 12:44:43 +0000 (14:44 +0200)]
DTD and XSD documents updated.

A new mark ("utc") has been added in the XML output
generated by sadf -x. This mark has a value of 0 or 1 depending
on whether the timestamp is expressed in local time or UTC.
A correction has also been made in the XSD document, where the
description of "comment" messages was erroneous.

12 years agosadf modified to make it easier to add new output formats.
Sebastien Godard [Sat, 13 Aug 2011 12:28:19 +0000 (14:28 +0200)]
sadf modified to make it easier to add new output formats.

sadf has been heavily modified to make it easiser to add new
output formats. The idea was to take the same architecture pattern
than that of sar. Anyway, I haven't been able to achieve this goal:
The design is still not generic although things have improved.

13 years agoCosmetic changes in sar.c and sadf.c files.
Sebastien Godard [Tue, 14 Jun 2011 11:29:24 +0000 (13:29 +0200)]
Cosmetic changes in sar.c and sadf.c files.

Instead of calling print methods twice, use the following syntax:

print_method_name(arg1, arg2, arg3,
                  NEED_GLOBAL_ITV(act[i]->options) ? g_itv : itv);

13 years agoAutomate translation files handling in Makefile.in.
Sebastien Godard [Fri, 3 Jun 2011 19:44:18 +0000 (21:44 +0200)]
Automate translation files handling in Makefile.in.

Mail from Jeroen Roovers <jer@gentoo.org> 03/06/2011:
Subject: [PATCH] automate translation file handling in Makefile.in

Hello,

as maintainer of the sysstat package in the Gentoo Linux repository, I
have been maintaining a patch that makes it easier to instruct our
build/install system to install support for certain languages or indeed
save space on the target system by not installing them.

This patch makes the build system not list all the available
translations as the current Makefile.in does, but finds the language
files on its own and repeats the same two commands in a loop over the
files it finds. Also with this patch, the Makefile.in does not need to
be updated for each new translation any longer.

I hope you can implement it.

Kind regards,
      Jeroen Roovers

13 years agoSysstat 10.0.2 begins.
Sebastien Godard [Fri, 3 Jun 2011 18:52:27 +0000 (20:52 +0200)]
Sysstat 10.0.2 begins.

Updated CHANGES and configure.in file for 10.0.2 version.

13 years agoSysstat 10.0.1 final packaging. v10.0.1
Sebastien Godard [Wed, 1 Jun 2011 13:33:57 +0000 (15:33 +0200)]
Sysstat 10.0.1 final packaging.

Make squeeze. CHANGES and CREDITS file updated.
Updated lsm and spec files.
TODO file updated.

13 years agoNLS updated.
Sebastien Godard [Wed, 1 Jun 2011 13:07:43 +0000 (15:07 +0200)]
NLS updated.

Sync'd with translation project.

13 years agosar manual page updated.
Sebastien Godard [Sat, 28 May 2011 14:39:37 +0000 (16:39 +0200)]
sar manual page updated.

Added description of sar's option "-m USB".
CHANGES file updated.

13 years agoFixed XML output displayed by sadf (hugepages statistics were
Sebastien Godard [Sat, 28 May 2011 14:03:55 +0000 (16:03 +0200)]
Fixed XML output displayed by sadf (hugepages statistics were
included in power management ones).

When displaying stats with sar, hugepages utilization statistics
were displayed between voltage inputs statistics and CPU clock
ones. This was not really smart but still OK.
Yet, when displaying XML output with sadf -x, hugepages statistics
were included in the <power-management> section, which is quite bad
in this case. So move hugepage structure just after memory utilization
one in activity.c:act[] array.

13 years agosadf updated for USB devices statistics.
Sebastien Godard [Sat, 28 May 2011 14:01:41 +0000 (16:01 +0200)]
sadf updated for USB devices statistics.
XML and DTD files updated and cleaned.

13 years agosar and pidstat: Check that _("Average") string doesn't exceed
Sebastien Godard [Tue, 24 May 2011 11:46:17 +0000 (13:46 +0200)]
sar and pidstat: Check that _("Average") string doesn't exceed
the size of the timestamp buffer.

One could find something like:
strcpy(string, _("Average"));
in pidstat.c and sar.c. Yet, we don't know whether the translation
message for "Average" will fit in target string buffer. Hence we
replaced the previous expression with something like:
strncpy(string, _("Average"), length_of_string_buffer);
string[lenght_of_string_buffer - 1] = '\0';

13 years agoRemove unnecessary arguments from functions in pr_stats.c.
Sebastien Godard [Tue, 24 May 2011 10:02:32 +0000 (12:02 +0200)]
Remove unnecessary arguments from functions in pr_stats.c.

Some arguments (like "prev" or "itv") were unused by some stub functions
in pr_stats.c. They have now been removed.

13 years agosar: Decrease column width for sensor device name (temperature,
Sebastien Godard [Tue, 24 May 2011 09:43:25 +0000 (11:43 +0200)]
sar: Decrease column width for sensor device name (temperature,
voltage inputs and fans statistics).

There were several unncessary spaces between the last column of
statistics and the device name in the report displayed by sar for
temperature, voltage inputs and fans statistics.
These spaces have been removed.

13 years agosadf -p now displays the sensor device name for temperature,
Sebastien Godard [Tue, 24 May 2011 09:26:35 +0000 (11:26 +0200)]
sadf -p now displays the sensor device name for temperature,
voltage inputs and fans statistics.

The render() function was not properly used in rndr_stats.c, in particular
when the DEVICE name was to be displayed by sadf for fans, voltage inputs
and temperature statistics.
A new flag has been added (PT_USESTR) enabling the render() function to
display strings. As a consequence, sadf -d and sadf -p are now able
to display the sensor device name.
The output of sadf -d has also changed (this is no longer "device;FAN;..."
but "FAN;DEVICE;...". Same thing applies for TEMP and IN statistics).

13 years agoOption -m USB added to sar (sadc POWER group)
Sebastien Godard [Tue, 24 May 2011 07:24:21 +0000 (09:24 +0200)]
Option -m USB added to sar (sadc POWER group)

This option takes a snapshot of current USB devices plugged into
the system.
Idea from ceolin@ulevel.com (Fabricio Ceolin).

13 years agoAdded gitdist target in Makefile.in
Sebastien Godard [Sat, 7 May 2011 06:29:38 +0000 (08:29 +0200)]
Added gitdist target in Makefile.in

gitdist target creates an archive file (tar.bz2) containing
the whole sysstat package, including the .git directory.

13 years agoOption -h added to iostat.
Sebastien Godard [Thu, 5 May 2011 12:19:48 +0000 (14:19 +0200)]
Option -h added to iostat.

Option -h added to iostat. This option makes the device utilization
report easier to read with long device names.

Mail from Ivana Varekova (varekova@redhat.com) 02/05/2011
Subject: feature request: Resizing device column in iostat to size of larges lvm device name

Hello,
I'm sending three patches against sysstat-10.0.0:
* sysstat_1.patch
  adds -h (human readable) option to iostat tool (just to indent the row after the device name)
[...]

If you need a clarification to arbitrary of them please sent me an e-mail.
Ivana

From Fedora bugzilla: G. Michael Carter      2011-04-11 17:19:58 EDT

As far as reports go this is rather hard to read.  Can we get the Device column
to size based on the longest name?

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz
avgqu-sz   await  svctm  %util
sdb             215.50    61.75  340.00   53.75    33.38     0.42   175.78
5.72   25.39   2.51  98.92
sdc               0.00    39.00   20.50   24.50     0.06     0.21    11.98
0.07    1.54   1.46   6.55
sda               0.00     0.25   18.50    0.50     0.08     0.00     8.71
0.07    3.43   1.74   3.30
sde               0.00     0.00   15.00    0.00     0.03     0.00     4.73
0.04    2.45   0.83   1.25
sdf               0.00   218.75    5.00  324.75     0.03    33.34   207.23
0.36    1.09   0.82  27.07
LiandraStore-Home     0.00     0.00    7.25   37.25     0.03     0.13     7.51
   4.98  537.54  13.85  61.62
LiandraStore-Root     0.00     0.00    6.25    0.75     0.02     0.00     8.00
   0.01    0.89   0.75   0.53
LiandraStore-SWAP_Balanced     0.00     0.00    6.25    0.00     0.02     0.00
   8.00     0.05    8.32   5.64   3.52
LiandraStore-VirtualMachines     0.00     0.00    5.00  125.75     0.02
0.46     7.59     3.36   25.67   7.61  99.47
LiandraStore-MassMedia     0.00     0.00    5.00    0.00     0.00     0.00
1.60     0.02    3.40   1.20   0.60
LiandraStore-Old--Liandra     0.00     0.00    5.00    0.00     0.00     0.00
  1.60     0.00    0.25   0.15   0.07
LiandraStore-Backups     0.00     0.00    5.00    0.00     0.02     0.00
8.00     0.00    0.30   0.15   0.07
LiandraStore-LiveCD     0.00     0.00    5.00    0.00     0.02     0.00
8.00     0.01    2.25   0.70   0.35
LiandraStore-iTunes_Media     0.00     0.00    5.00    0.00     0.00     0.00
  1.60     0.02    4.40   1.10   0.55
LiandraStore-DVD--Working     0.00     0.00    1.50    0.00     0.00     0.00
  1.00     0.01    3.00   1.50   0.23
LiandraStore-pvmove0     0.00     0.00    7.25   37.75     0.03     0.13
7.42     4.98  531.57  13.69  61.62

13 years agocifsiostat didn't count open files from the "Posix Open" column in
Sebastien Godard [Thu, 5 May 2011 11:47:46 +0000 (13:47 +0200)]
cifsiostat didn't count open files from the "Posix Open" column in
/proc/fs/cifs/Stats file. This is now fixed.

Mail from Ivana Varekova (varekova@redhat.com) 02/05/2011
Subject: feature request: Resizing device column in iostat to size of larges lvm device name

Hello,
I'm sending three patches against sysstat-10.0.0:
[...]
* sysstat_3.patch
  fixes cifsiostat tool which in open files does not count files which are in /proc/fs/cifs/Stats output in column "Posix Open"

If you need a clarification to arbitrary of them please sent me an e-mail.
Ivana

13 years agoClose file descriptor in read_uptime() function (file rd_stats.c).
Sebastien Godard [Thu, 5 May 2011 09:07:43 +0000 (11:07 +0200)]
Close file descriptor in read_uptime() function (file rd_stats.c).

File descriptor was not closed when /proc/uptime file happened to be empty.

Mail from Ivana Varekova (varekova@redhat.com) 02/05/2011:
Subject: feature request: Resizing device column in iostat to size of larges lvm device name

Hello,
I'm sending three patches against sysstat-10.0.0:
[...]
* sysstat_2.patch
  fix rear_uptime bug - this function does not close the file descriptor which is open in it in the special situation
[...]

If you need a clarification to arbitrary of them please sent me an e-mail.
Ivana

13 years agoNLS updated. Added Esperanto translation.
Sebastien Godard [Sat, 19 Mar 2011 08:18:33 +0000 (09:18 +0100)]
NLS updated. Added Esperanto translation.

Init package release 10.0.1.
Sync'd with translation project. A new translation has been added: Esperanto (eo).

13 years agoFinal packaging. v10.0.0
Sebastien Godard [Sun, 13 Mar 2011 19:48:41 +0000 (20:48 +0100)]
Final packaging.

Updated lsm and spec files. Updated CHANGES file.

13 years agoNLS updated.
Sebastien Godard [Fri, 11 Mar 2011 17:12:08 +0000 (18:12 +0100)]
NLS updated.

Sync'd with translation project.

13 years agoFixed several bufs with nfsiostat (and cifsiostat).
Sebastien Godard [Fri, 11 Mar 2011 13:45:05 +0000 (14:45 +0100)]
Fixed several bufs with nfsiostat (and cifsiostat).

Mail from Masanari Iida (masanari.iida@hp.com) 08/02/2011:

Sebastien,

Thanks for the fix.
Before you release the core on end of Feb,  I would ask you to test the
code with following 2 scenario.

(1)  Mount / Umount while nfsiostat running.
Check points
(a)  nfsiostat detect new nfs mount points after nfsiostat started.
The mounted NFS share have to be reported by nfsiostat.

(b)  nfsiostat detect nfs mount points which is umounted after nfsiostat started.
No lines reported by nfsiostat  after umount NFS share.

This is an original bug scenario that I reported to you in the first e-mail.

(2) nfsiostat not showing incorrect value when NFS mount point re-mount happen.
Following symptom was seen on sysstat 7.0.2 (on RHEL5).

Step to reproduce.
(1)  Mount an NFS share
(2)  Run iostat  (or nfsiostat)
(3)  Umount the NFS share
(4)  Mount the same NFS share that umounted in step 3.
(5)  Check the iostat result for the NFS share.

Actual Result on sysstat 7.0.2.
Very large value for rops/s and wops/s display one time.
These are incorrect values.

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.25    0.00    2.25    0.00    0.00   90.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

Device:                   rkB_nor/s    wkB_nor/s    rkB_dir/s    wkB_dir/s    rkB_svr/s    wkB_svr/s    rops/s    wops/s
abc123.jpn.hp.com:/nfs-test         0.00         0.00         0.00         0.00         0.00         0.00 18446744073709551616.00 18446744073709551616.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.25    0.00    0.00    0.00    0.00   99.75

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

Device:                   rkB_nor/s    wkB_nor/s    rkB_dir/s    wkB_dir/s    rkB_svr/s    wkB_svr/s    rops/s    wops/s
abc123.jpn.hp.com:/nfs-test         0.00         0.00         0.00         0.00         0.00         0.00      1.00      1.00

Expected result.
The nfsiostat reported correct value for rops/s and  wops/s
even when the NFS mount point re-mounted while nfsiostat running.

Regards,
Masanari Iida

Mail from Masanari Iida (masanari.iida@hp.com) 24/02/2011:

Hello,

Thank you for your support.

I have tested your new code.
The bugs that I have reported in previous e-mail are fixed on this version.
So I don't get no more coredump, and nfsiostat detect all mounted and
umounted filesystems while running.

One minor issue still remain here.
On 2nd result of the nfsiostat always include some unknown value.

swift.jpn.hp.com:/src          0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00
swift.jpn.hp.com:/src          0.00         0.00         0.00         0.00         0.00         0.00 516000.00      0.00      0.00   <<
swift.jpn.hp.com:/src          0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00
swift.jpn.hp.com:/src          0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00
swift.jpn.hp.com:/src          0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00

blxc:/hptc_cluster         0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00
blxc:/hptc_cluster  31130270.51         0.00         0.00         0.00   9139775.59         0.00 1280500.00 603100.00      0.00 <<
blxc:/hptc_cluster         0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00
blxc:/hptc_cluster         0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00
blxc:/hptc_cluster         0.00         0.00         0.00         0.00         0.00         0.00      0.00      0.00      0.00

(These 0 data are correct, since I just mount the NFS share and not doing
any I/O during the test. )

How to reproduce 1
(1) Mount one NFS filesystem.
(2) Run nfsiostat with interval and count options.  The count must be 3 or more.
(3) Check the 2nd result from nfsiostat.

How to reproduce 2
(1) Run nfsiostat with interval.
(2) Mount the NFS filesystem while running the nfsiostat.
(3) Check the 2nd result of the just mounted NFS filesystem.

I know that vmstat or iostat case,  the first result is a history of data since OS boot.
So I usually ignore the first data and use after the 2nd result.
In NFS automount enviroment,  NFS mount/umount happen at random timing.
So it is hard to remove these sudden large value from data.

Impact.
When a script draw a graph, these sudden large values expand Y scale.
So the normal value may looks smaller than expected in the graph.

Regards,
Masanari Iida

13 years agoDon't link sysstat's commands with sensors library if not needed.
Sebastien Godard [Sun, 6 Mar 2011 19:19:51 +0000 (20:19 +0100)]
Don't link sysstat's commands with sensors library if not needed.

Sebastien,

I'm forwarding a bug report I've got today. The submitter is right. The
only binary that actually needs sensors is sadc. but all the remaining
binaries are linked with the  library, and it's not easy to change it.

I was trying to find some way to fix the issue e.g. by using the
--as-needed linker option, but this doesn't worked well (even after
changing ordering of linking). Finally I've came up with an idea of
splitting rd_stats.c into two parts - one that requires sensors and the
other one that doesn't.

I'm attaching some proof of concept patch just to show the idea. It uses
preprocessor macro to compile a tiny version of rd_stats.c that is than
linked with all binaries except for sadc. I don't think the patch is
ready to be applied b you as is. It would be much better to manually
split the rd_stats.c file into two parts, and than make configure not to
add -lsensors to CFLAGS, but put -lsensors in some autoconf variable
that would be added to sadc's LFLAGS. Could you please look at it and
possbly make an appropriate changes for the next version of sysstat?

Thanks,
robert

------ Wiadomosc oryginalna ------
Temat: Bug#612571: sysstat: iostat links libsensors4 with no need
Odeslano-Data: Wed, 09 Feb 2011 09:18:01 +0000, Wed, 09 Feb 2011
09:18:04 +0000
Odeslano-Od: Mario 'BitKoenig' Holbe <Mario.Holbe@TU-Ilmenau.DE>
Odeslano-Do: debian-bugs-dist@lists.debian.org
Odeslano-Kopia: Robert Luberda <robert@debian.org>
Data: Wed, 9 Feb 2011 10:15:31 +0100
Nadawca: Mario 'BitKoenig' Holbe <Mario.Holbe@TU-Ilmenau.DE>
Odpowiedz-Do: Mario 'BitKoenig' Holbe <Mario.Holbe@TU-Ilmenau.DE>,
612571@bugs.debian.org
Adresat: submit@bugs.debian.org

Package: sysstat
Version: 9.1.7-2

Hello,

iostat from sysstat 9.1.7-2 links /usr/lib/libsensors.so.4.
The manual page doesn't reveal any new functions that could explain this
and according to ldd libsensors isn't used:

$ ldd -u /usr/bin/iostat
Unused direct dependencies:

        /usr/lib/libsensors.so.4

regards
   Mario

13 years agoiostat incorrectly mapped device-mapper IDs
Sebastien Godard [Sun, 27 Feb 2011 15:07:59 +0000 (16:07 +0100)]
iostat incorrectly mapped device-mapper IDs
greater than 256. This is now fixed [DEBIAN Bug#614397].

Mail from Robert Luberda <robert@debian.org> (22/02/2011)
Subject: Fwd: Bug#614397: iostat(from sysstat) doesn't support more
than 256 device-mapper names

Sebastien,

I'm forwarding a bug report I've got yesterday.
I can't reproduce it by myself, as I don't use LVM at all, but I've just
found out that some Debian machines actually do use it, and the device
numbers on them  starts with 252, so the contents of /dev/mapper looks like:

crw-rw----  1 root root  10, 61 Feb 19 18:43 control
brw-rw----  1 root disk 252,  0 Feb 19 18:43 vg_$hostname-srv

Regards,
robert

------ Wiadomosc oryginalna ------
Temat: Bug#614397: iostat(from sysstat) doesn't support more than 256
device-mapper names
Odeslano-Data: Mon, 21 Feb 2011 18:27:01 +0000, Mon, 21 Feb 2011
18:27:04 +0000
Odeslano-Od: Adam Heath <doogie@brainfood.com>
Odeslano-Do: debian-bugs-dist@lists.debian.org
Odeslano-Kopia: Robert Luberda <robert@debian.org>
Data: Mon, 21 Feb 2011 12:24:11 -0600
Nadawca: Adam Heath <doogie@brainfood.com>
Odpowiedz-Do: Adam Heath <doogie@brainfood.com>, 614397@bugs.debian.org
Adresat: submit@bugs.debian.org

package: sysstat
severity: minor
version: 9.0.6.1-2

iostat tries to do bit-shifting of device ids; this is a big no-no.
Attached patch at least fixes it for mapping of device-mapper
names(iostat -N).

I would love to have this go into stable-updates(squeeze), but can
understand if it's not the type of change that normally would be allowed.

The circumstances of this bug, cause device 256 to map to 0, 257 to
map to 1, etc.

debian-changes-9.0.6.1-2.1

--- sysstat-9.0.6.1.orig/ioconf.c
+++ sysstat-9.0.6.1/ioconf.c
@@ -500,8 +500,8 @@ char *transform_devmapname(unsigned int
  if (stat(filen, &aux) == 0) {
  /* Get its minor and major numbers */

- dm_major = ((aux.st_rdev >> 8) & 0xff);
- dm_minor = (aux.st_rdev & 0xff);
+ dm_major = major(aux.st_rdev);
+ dm_minor = minor(aux.st_rdev);

  if ((dm_minor == minor) && (dm_major == major)) {
  dm_name = dp->d_name;

13 years agoOption -V from sysstat commands now displays the version number on stdout
Sebastien Godard [Sun, 27 Feb 2011 14:45:23 +0000 (15:45 +0100)]
Option -V from sysstat commands now displays the version number on stdout
and returns 0 for the exit code.

Option -V used to display the version number on stderr and returns 1 for
the exit code.
This is not the expected behavior as it has done everything we asked properly.
So change this: Display on stdout and returns 0.
The same change has been applied to sar's option -h, which displays a
help message.

Mail from Lodewijk Bonebakker <jlbonebakker@gmail.com> (15/02/2011):
Subject: Systat version reporting

Dear Sebastian,

I have question related to the way you report the version number in sysstat. At the moment, it seems that you write:

sysstat version <versionno>
(C) Sebastien Godard (sysstat <at> orange.fr)

to stderr, and set the error-code to 1.

Given the significant changes between 7/8 and 9, we have a tremendous headache in automatically dealing with the different sar data files, collected during the day on different machines (some which we prefer not to upgrade). Currently in our environment we can work with this way of reporting your version number, but I would like to make a suggestion:

It would greatly help us if the version command returns only "sysstat version <versionno>" to stdout and sets the return code to 0. Our reasoning behind this is that 'sar -V' should print the version number and exit 0, since it has done everything we have asked it to do correctly. A non-zero exit code is then reserved for error-conditions. This way we can efficiently get the version-number, check for proper installation/kernel versioning etc.

Thank you for your time in considering this suggestion,

Kind regards,

Lodewijk Bonebakker

13 years agoAdded the possibility to extend the number of slots for NFS and
Sebastien Godard [Sun, 6 Feb 2011 10:33:28 +0000 (11:33 +0100)]
Added the possibility to extend the number of slots for NFS and
CIFS mount points on the fly.

Mail from Ivana Varekova (varekova@redhat.com) 02/02/2011:
Hello, I'm sending 6 patches - 3 for nfsiostat and 3 for cifsiostat
nfsiostat:
    nfsiostat.patch - adds the possibility to extend the number of
slots for nfs mount points during the nfsiostat run

cifsiostat:
    cifsiostat.patch - adds the possibility to extend the number of
slots for cifs mount points during the cifsiostat run

See also mail from Masanari Iida (masanari.iida@hp.com) 28/01/2011:
Hello

I have a feedback about nfsiostat behavior.

Description
nfsiostat need to be run _AFTER_ the NFS share is mounted.

Version.
nfsiostat in sysstat 9.1.7

How to reproduce
(1) Run nfsiostat -k 1
(2) Mount one NFS share
(3) Check nfsiostat output.

Expected result.
nfsiostat start to report the NFS share's activities, after I mount it.

Actual result.
nfsiostat not reporting the mounted NFS share, even after it is mounted.

Additional information:
If I mount the NFS share _BEFORE_ i run nfsiostat, nfsiostat reports the
NFS share's information.  And also, if I umount the NFS share,
the line disappeared. (This is expected.)

It is because, the environment is using autofs,  mount and umount often
happens on the system.
But I continously running the iostat -kn  to collect the statics, then I have
encounteded this symptom.  (And tested with nfsiostat )

In case of multiple NFS mount points, the symptom is bit different.
If an additional NFS share is mounted BEFORE this test is done,
the target NFS share appeared after mount it.  And dissapeared it after umount.
But if I do the same thing one more time, it is not display any more.

========

To say the truth,  the original symptom is happen on sysstat 7.0
on RHEL5 system, using iostat -kn. The environment uses autofs.
I wanted to confirm if the upstream version already fixed this symptom,
so that's why I downloaded the latest tar ball and tried.
But so far, the similar symptom still exist.

If you think this is current known limitation or known bug,
please document it in man page or FAQ page of your web.

Regards,

Masanari Iida

13 years agoFix a problem with long NFS and CIFS share names in cifsiostat and
Sebastien Godard [Sun, 6 Feb 2011 09:09:17 +0000 (10:09 +0100)]
Fix a problem with long NFS and CIFS share names in cifsiostat and
nfsiostat.

Mail from Ivana Varekova (varekova@redhat.com) 02/02/2011
    Hello, I'm sending 6 patches - 3 for nfsiostat and 3 for cifsiostat
nfsiostat:
    nfsiostat3.patch - fix the problem with long nfs shares names
(...)

cifsiostat:
    cifsiostat3.patch - fix the problem with long cifs shares names
(...)

13 years agoCheck calloc() return value in nfsiostat and cifsiostat.
Sebastien Godard [Sun, 6 Feb 2011 07:27:12 +0000 (08:27 +0100)]
Check calloc() return value in nfsiostat and cifsiostat.

A call to calloc() function to allocate structures in nfsiostat and
cifsiostat wasn't checked for its return code. This call could possibly
fail without ever being noticed.

Mail from Ivana Varekova (varekova@redhat.com) 02/02/2011
Hello, I'm sending 6 patches - 3 for nfsiostat and 3 for cifsiostat
nfsiostat:
    nfsiostat2.patch - adds the forgotten test to malloc
(...)

cifsiostat:
    cifsiostat2.patch - adds the forgotten test to malloc
(...)

13 years agoAdded --debuginfo option to cifsiostat and nfsiostat commands.
Sebastien Godard [Fri, 7 Jan 2011 13:46:37 +0000 (14:46 +0100)]
Added --debuginfo option to cifsiostat and nfsiostat commands.

Jan Kaluza from Redhat (jkaluza@redhat.com) added option --debuginfo
to cifsiostat and nfsiostat commands.

His mail (06/30/2010):

Hi,

thanks for applying my previous patch in Sysstat 9.1.3 (I'm really proud to be
in the Changelog). I've created another patch which adds --debuginfo option
also for new tools (nfsiostat, cifsiostat) introduced in this release. I think
it could help debugging in some situations. Please feel free to ask any
question about that patch.

Jan Kaluza

cifsiostat and nfsiostat manual pages have also been updated.

13 years agosysstat_panic is now defined only in DEBUG mode.
Sebastien Godard [Fri, 7 Jan 2011 12:55:07 +0000 (13:55 +0100)]
sysstat_panic is now defined only in DEBUG mode.

By default, sysstat_panic function is no longer included in binary commands.
This function is defined only if --enable-debuginfo has been used with
configure.

13 years agoNLS translation updated.
Sebastien Godard [Sun, 2 Jan 2011 07:22:51 +0000 (08:22 +0100)]
NLS translation updated.

Updated Russian translation.
Added Ukrainian translation.

13 years agoStart version 10.0.0.
Sebastien Godard [Sun, 2 Jan 2011 07:16:14 +0000 (08:16 +0100)]
Start version 10.0.0.

Init version 10.0.0 (version number updated in configure.in
and CHANGES files).
Also change Copyright messages from 2010 to 2011.

13 years agoVersion 9.1.7 final packaging. v9.1.7
Sebastien Godard [Fri, 24 Dec 2010 14:22:36 +0000 (15:22 +0100)]
Version 9.1.7 final packaging.

Updated release date in CHANGES file.
Updated spec and lsm files.

13 years agoNLS updated.
Sebastien Godard [Fri, 24 Dec 2010 14:13:40 +0000 (15:13 +0100)]
NLS updated.

Sync with translation projet.

13 years agoAdded two new metrics (amount of active and inactive memory) to sar -r.
Sebastien Godard [Sat, 18 Dec 2010 15:17:15 +0000 (16:17 +0100)]
Added two new metrics (amount of active and inactive memory) to sar -r.

This patch adds two new metrics (kbactive and kbinact) to sar -r.
Also update sar manual page and DTD and XSD documents.

13 years agoAdded a new field (blocked) to sar -q.
Sebastien Godard [Fri, 17 Dec 2010 20:19:53 +0000 (21:19 +0100)]
Added a new field (blocked) to sar -q.

This patch adds a new metric (blocked - number of tasks currently
blocked, waiting for I/O to complete) to sar -q.
Also update sar manual page, and DTD/XSD documents.
Note that this breaks stats_queue structure format.

13 years agoNo longer assume that device-mapper major number is 253.
Sebastien Godard [Sat, 11 Dec 2010 20:49:22 +0000 (21:49 +0100)]
No longer assume that device-mapper major number is 253.
Get the real number from /proc/devices file.

The sar, sadf and iostat commands used to assume that device-mapper
major number was 253. This happened to be false sometimes. So get
the real number from the /proc/devices file.

From Mike Coleman <tutufan@gmail.com> 04/10/2010:

The iostat program seems to assume that the major device number for
devmap will always be 253.  This doesn't seem to be an official
number, though, and I have a box where it actually ends up being 252,
which breaks 'iostat -N'.

It looks like this can be determined dynamically by looking at /proc/devices.

13 years ago[Kenichi Okuyama]: Small change to sar manual page.
Sebastien Godard [Sat, 11 Dec 2010 14:18:19 +0000 (15:18 +0100)]
[Kenichi Okuyama]: Small change to sar manual page.

Kenichi Okuyama <kenichi.okuyama@gmail.com> noticed that a sentence
in sar manual page was a bit confusing:

     ip-frag
                 Number of IP fragments currently in use.

because unless you are familiar with
Linux Kernel internal, "IP fragments" are not something to be IN USE.
This is really how many elements are there in fragment queues, and
each element of queue is "group of fragmented ip packets", which when
completed, will become single IP packet.
So replace it with:

     ip-frag
                 Number of IP fragments currently in queue.

13 years agonfsiostat now takes into account POSIXLY_CORRECT environment variable.
Sebastien Godard [Tue, 7 Dec 2010 10:05:35 +0000 (11:05 +0100)]
nfsiostat now takes into account POSIXLY_CORRECT environment variable.

nfsiostat default output is now expressed in kB/s,
unless the variable POSIXLY_CORRECT is set (in which case
the output is expressed in blocks/s).

13 years agopidstat: Code cleaned.
Sebastien Godard [Tue, 30 Nov 2010 20:28:35 +0000 (21:28 +0100)]
pidstat: Code cleaned.

A comment in pidstat.c (get_pid_to_display()function) still refered
to option -X, although this option no longer exists as it was
merged with option -C.

13 years agoCode cleaned.
Sebastien Godard [Tue, 23 Nov 2010 20:33:29 +0000 (21:33 +0100)]
Code cleaned.

Replaced psti/pstj structure names with pstc/pstp (current/previous) ones.

13 years agoFixed bogus CPU statistics output, which happened when
Sebastien Godard [Mon, 22 Nov 2010 14:22:01 +0000 (15:22 +0100)]
Fixed bogus CPU statistics output, which happened when
CPU user value from /proc/stat wasn't incremented whereas
CPU guest value was.

From the Fedora Bugzilla database.
Ivana Varekova      2010-10-15 09:05:41 EDT

Description of problem:
The output of sar command is bogus, the value of %usr overflows

Version-Release number of selected component (if applicable):
last upstream (http://sebastien.godard.pagesperso-orange.fr/download.html) -
sysstat-9.1.5

How reproducible:

Steps to Reproduce:
1.# sar -u ALL -P ALL 1 1000
Linux 2.6.32.21-168.fc12.i686 (localhost) _i686_ (2 CPU)
...
02:59:54 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:59:56 PM     all      5.24      0.00      4.52      0.00      0.00     90.24
02:59:56 PM       0 4487176417.15    0.00      7.46      0.00      0.00
85.07
02:59:56 PM       1      3.20      0.00      1.83      0.00      0.00     94.98
....
2.
3.

Actual results:
02:59:56 PM       0 4487176417.15    0.00      7.46      0.00      0.00
85.07
                      ^should be zero

Expected results:
02:59:56 PM       0   0    0.00      7.46      0.00      0.00     85.07

Additional info:
the problem happens if user value prom /proc/stat is not incremented, and guest
value form /proc/stat for the same cpu is incremented. In this case sar should
output 0 as an %usr value.

(This situation can happened - see the code in kernel: account_guest_time
function) e.g.:

time     cpu  user nice sys idle iowait hardirq softirq steal guest
2:59:55 cpu0 2235996 20046 7569883 24586493 187483 3258 3744 0 55430
2:59:56 cpu0 2235996 20046 7569885 24586498 187482 3258 3744 0 55431

[Remember that user value should already include guest value].

Against 9.1.5:

--- pr_stats.c.orig    2010-09-04 08:05:58.000000000 +0200
+++ pr_stats.c    2010-10-20 10:07:29.719376868 +0200
@@ -171,6 +171,8 @@ __print_funct_t print_cpu_stats(struct a
             else if (DISPLAY_CPU_ALL(a->opt_flags)) {
                 printf("    %6.2f    %6.2f    %6.2f    %6.2f    %6.2f    %6.2f"
                        "    %6.2f    %6.2f    %6.2f\n",
+                       (scc->cpu_user - scc->cpu_guest)<  (scp->cpu_user - scp->cpu_guest) ?
+                       0.0 :
                        ll_sp_value(scp->cpu_user - scp->cpu_guest,
                            scc->cpu_user - scc->cpu_guest,     g_itv),
                        ll_sp_value(scp->cpu_nice,    scc->cpu_nice,    g_itv),

13 years agoFix segfaults on bogus localtime input.
Sebastien Godard [Sun, 14 Nov 2010 12:24:57 +0000 (13:24 +0100)]
Fix segfaults on bogus localtime input.

The return code from localtime() function (and also gmtime() one)
wasn't checked. In some (rare) cases, it can return a NULL pointer
resulting in a segmentation fault.
The return code is now checked, but no specific action is performed
anyway.

Original patch from Ivana Varekova from RedHat (04/10/2010):
diff -up sysstat-9.0.6.1/sar.c.pom sysstat-9.0.6.1/sar.c
--- sysstat-9.0.6.1/sar.c.pom 2009-10-17 15:08:21.000000000 +0200
+++ sysstat-9.0.6.1/sar.c 2010-10-04 12:21:13.383442188 +0200
@@ -247,7 +247,7 @@ void reverse_check_act(unsigned int act_
  * @curr Index in array for current sample statistics.
  ***************************************************************************
 */
-void sar_get_record_timestamp_struct(int curr)
+int  sar_get_record_timestamp_struct(int curr)
 {
  struct tm *ltm;

@@ -257,10 +257,17 @@ void sar_get_record_timestamp_struct(int
  rectime.tm_hour = record_hdr[curr].hour;
  rectime.tm_min  = record_hdr[curr].minute;
  rectime.tm_sec  = record_hdr[curr].second;
+ return 0;
  }
  else {
  ltm = localtime((const time_t *) &record_hdr[curr].ust_time);
+
+ /* localtime procedure could not finish successful */
+ if (ltm == NULL)
+ return 1;
+
  rectime = *ltm;
+ return 0;
  }
 }

@@ -312,13 +319,17 @@ int check_line_hdr(void)
  * @cur_time Timestamp string.
  ***************************************************************************
 */
-void set_record_timestamp_string(int curr, char *cur_time, int len)
+int set_record_timestamp_string(int curr, char *cur_time, int len)
 {
+ int ret;
  /* Fill timestamp structure */
- sar_get_record_timestamp_struct(curr);
+ ret = sar_get_record_timestamp_struct(curr);
+ if (ret != 0)
+ return ret;

  /* Set cur_time date value */
  strftime(cur_time, len, "%X", &rectime);
+ return 0;
 }

 /*
@@ -407,6 +418,7 @@ int write_stats(int curr, int read_from_
  int use_tm_end, int reset, unsigned int act_id)
 {
  int i;
+ int ret;
  unsigned long long itv, g_itv;
  static int cross_day = 0;
  static __nr_t cpu_nr = -1;
@@ -423,9 +435,14 @@ int write_stats(int curr, int read_from_
  }

  /* Set previous timestamp */
- set_record_timestamp_string(!curr, timestamp[!curr], 16);
+ ret = set_record_timestamp_string(!curr, timestamp[!curr], 16);
+ if (ret != 0)
+ return ret;
+
  /* Set current timestamp */
- set_record_timestamp_string(curr,  timestamp[curr],  16);
+ ret = set_record_timestamp_string(curr,  timestamp[curr],  16);
+ if (ret != 0)
+ return ret;

  /* Check if we are beginning a new day */
  if (use_tm_start && record_hdr[!curr].ust_time &&
@@ -569,8 +586,11 @@ int sar_print_special(int curr, int use_
 {
  char cur_time[26];
  int dp = 1;
+ int ret;

- set_record_timestamp_string(curr, cur_time, 26);
+ ret = set_record_timestamp_string(curr, cur_time, 26);
+ if (ret != 0)
+ return ret;

  /* The record must be in the interval specified by -s/-e options */
  if ((use_tm_start && (datecmp(&rectime, &tm_start) < 0)) ||
@@ -865,7 +885,8 @@ void read_stats_from_file(char from_file
   */
  read_file_stat_bunch(act, 0, ifd, file_hdr.sa_nr_act,
       file_actlst);
- sar_get_record_timestamp_struct(0);
+ if (sar_get_record_timestamp_struct(0))
+ continue;
  }
  }
  while ((rtype == R_RESTART) || (rtype == R_COMMENT) ||

13 years agosar now tells sadc to read only the necessary groups of activities.
Sebastien Godard [Fri, 12 Nov 2010 15:44:21 +0000 (16:44 +0100)]
sar now tells sadc to read only the necessary groups of activities.

We noticed that a simple command like "sar 0" had a small delay before
displaying the CPU statsitics since system startup. This was because
in every case sar called sadc with option -S ALL resulting in all
possible activities being read.
Now, except if sar's option -o is used (in which case all possible
activities will still be read), sar tells sadc to read only the groups
of activities that include those that will be displayed on screen.

13 years agoSmall update to sar's manual page.
Sebastien Godard [Thu, 11 Nov 2010 17:37:31 +0000 (18:37 +0100)]
Small update to sar's manual page.

Sar's manual page says twice that -A option is equivalent to specifying
--bBdq... This led to inconsistencies as one was sometimes not updated
when a new option was added. So replace one of them by "selects all
possible activities".

13 years agoStart version 9.1.7.
Sebastien Godard [Sun, 7 Nov 2010 15:56:45 +0000 (16:56 +0100)]
Start version 9.1.7.

13 years agoVersion 9.1.6 final packaging v9.1.6
Sebastien Godard [Sun, 7 Nov 2010 15:31:13 +0000 (16:31 +0100)]
Version 9.1.6 final packaging

Updated lsm and spec files.
Updated release date in CHANGES file.
Note that this patch also includes a small fix in spec file
where a cron file hasn't still been moved in its own subdirectory.

13 years agoNLS updated.
Sebastien Godard [Sun, 7 Nov 2010 14:23:33 +0000 (15:23 +0100)]
NLS updated.

Sync with Translation Project.

13 years agoMoved cron files in a separate cron subdirectory.
Sebastien Godard [Sat, 6 Nov 2010 15:06:44 +0000 (16:06 +0100)]
Moved cron files in a separate cron subdirectory.

13 years agoVarious cosmetic fixes.
Sebastien Godard [Sat, 6 Nov 2010 14:19:02 +0000 (15:19 +0100)]
Various cosmetic fixes.

.gitignore file has been updated.
This patch also includes a small fix for sar CPU frequency activity
(sar -m CPU). It now takes into account a specific case of machines
where /sys isn't mounted and which don't have an SMP kernel running.
In this case, the number of CPU is counted using /proc/stat file, and
this file only has a line with global CPU statistics. The number of
items for CPU frequency activity is then equal to 1, which was
badly handled by read_cpuinfo() function in rd_stats.c. This patch
fixes that.

13 years agoDefine groups of activities: Each activity has now a new
Sebastien Godard [Mon, 1 Nov 2010 12:18:11 +0000 (13:18 +0100)]
Define groups of activities: Each activity has now a new
attribute specifying the group it belongs to (POWER, IPV6, etc.)

Add a new attribute to the activity structure, defining the group
the activity belongs to. This makes to code more generic, as it is
no longer necessary to update sadc.c whenever a new activity is added
to a group.

13 years agoSplit up prf_stats.c into rndr_stats.c and xml_stats.c
Sebastien Godard [Mon, 25 Oct 2010 07:30:40 +0000 (09:30 +0200)]
Split up prf_stats.c into rndr_stats.c and xml_stats.c

prf_stats.c was huge (>130 kB). So create:
rndr_stats.c (functions used by sadf -d / sadf -p)
and xml_stats.c (functions used by sadf -x).

The same has been done for prf_stats.h.

13 years agosadc -S POWER didn't include voltage inputs statistics.
Sebastien Godard [Sun, 24 Oct 2010 19:38:41 +0000 (21:38 +0200)]
sadc -S POWER didn't include voltage inputs statistics.

Voltage input statistics was not included in the POWER statistics
group for sadc. This is now fixed.

13 years agoFixed some differences between XML output (as displayed by
Sebastien Godard [Sun, 24 Oct 2010 19:27:40 +0000 (21:27 +0200)]
Fixed some differences between XML output (as displayed by
sadf -x) and DTD document.

In the DTD document, cpu-frequency is defined as a list of cpufreq items.
But sadf -x outputs:

<cpu-frequency unit="MHz">
<cpu number="all" frequency="3000.00"/>
<cpu number="0" frequency="3000.00"/>
<cpu number="1" frequency="3000.00"/>
</cpu-frequency>

So replace cpu by cpufreq in sadf.c (we don't keep the name
"cpu" as it is already used in CPU statistics):

<cpu-frequency unit="MHz">
<cpufreq number="all" frequency="3000.00"/>
<cpufreq number="0" frequency="3000.00"/>
<cpufreq number="1" frequency="3000.00"/>
</cpu-frequency>

In the DTD document, fan-speed is defined as a list of fanspd items.
But sadf -x outputs:

<fan-speed unit="rpm">
<fan number="1" rpm="1869" drpm="1869" device="dme1737-i2c-1-2e"/>
<fan number="2" rpm="1136" drpm="1136" device="dme1737-i2c-1-2e"/>
<fan number="3" rpm="0" drpm="0" device="dme1737-i2c-1-2e"/>
</fan-speed>

The name "word" can be kept here, so replace fanspd by fan in DTD document.

Note that XSD document is correct.

13 years agoAdded CPU average clock frequency statistics to sar and sadc.
Sebastien Godard [Sun, 24 Oct 2010 15:39:20 +0000 (17:39 +0200)]
Added CPU average clock frequency statistics to sar and sadc.

This patch adds a new option to sar (-m FREQ) that displays
the following field: wghMHz.
For this option to work, the cpufreq-stats driver must be compiled
in the kernel, as we need to read the "time-in-state" file in /sys.
sadc and sadf have also been updated to take into account this new field.
DTD and XSD documents have been updated.
The sar manual page has been updated.

Mail from Zhen Zhang (08/09/2010) <furykerry@gmail.com>
Hi ,

The current stable and development systat collect cpu frequency data
from /proc/cpuinfo, but currently cpuinfo "cpu Mhz" field report the
instant cpu frequency . From a system administrator point of view
however ,the preferred metric is  the average cpu frequency at
reporting interval . The average frequency can be obtain from
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state.

Will  the sysstat switch to average cpu frequency at next development version?

Thanks

Mail from Zhen Zhang (11/09/2010) <furykerry@gmail.com>
I want to measure the average cpu frequency of a machine which
probably is capable of dynamic adjusting frequency (DVFS). The average
of cpu frequency is an important metric to evaluate the power
consumption of a machine, and how hard the machine is working to serve
the requests. DVFS capability is starting to get wide adoption in the
server domain e.g. in recent Xeon.

The /proc/cpuinfo interface only record the instant cpu frequency
,however linux kernel or user frequncy governor can adjust cpu
frequency frequently , e.g. for default ondemand governor the
frequency is 10ms . Such interval is way to small comparing to usual
sysstat interval e.g 5min. So an accumulated value is needed .

cpufreq-stats  is a driver ( It seems had entered into kernel 2.6.11,
and its document is available at kernel 2.6.12,
http://lxr.linux.no/#linux+v2.6.12/Documentation/cpu-freq/cpufreq-stats.txt).
For recent ubuntu , cpufreq-stats and cpufreq driver is built into
kernel. The average frequency can be fetch as follow

:/sys/devices/system/cpu/cpu0/cpufreq/stats$ cat time_in_state
2001000 60803
2000000 5734
1600000 5996
1200000 8819
800000 205211

each line define a pair of frequency and its accumulated ticks since
reboot. sysstat can sample it and take the difference as the
accumulated ticks at the sampling interval , and calculated weighted
average cpu frequency.

The  cpufreq-stats do have some pitfall  which is addressed in patch
https://patchwork.kernel.org/patch/72488/).

Nevertheless its current form is already quite useful, I suggest
sysstat to utilize if available , and fall back to /proc/cpuinfo if
not.

Hopes to hear good news:)

thanks

13 years agoAdded a new magical value for each activity in file.
Sebastien Godard [Sun, 10 Oct 2010 14:39:28 +0000 (16:39 +0200)]
Added a new magical value for each activity in file.

A format change can now hit only one activity instead of the whole file.
Sadf has also been updated to be able to display activities with
unknown format (sadf -H).

13 years agoAdded support for activity matrices.
Sebastien Godard [Thu, 30 Sep 2010 18:01:19 +0000 (20:01 +0200)]
Added support for activity matrices.

Activities can now have multiple items and sub-items.
This patch breaks current datafile format, which becomes
no longer compatible with previous one.

13 years agoCreate a new activity (A_HUGE) for hugepages statistics.
Sebastien Godard [Sat, 25 Sep 2010 05:38:57 +0000 (07:38 +0200)]
Create a new activity (A_HUGE) for hugepages statistics.

Hugepages statistics have been added as an additional output
for memory activity by commit d7ed8d382140e2d709a6753fa44a0acfcba91a7e.
Create a dedicated activity for them (A_HUGE). This is quite cleaner
although the drawback is that /proc/meminfo file will be now read twice.

13 years agoAdded SADC_OPTIONS to sysstat configuration file, and sysstat(5) manual page.
Sebastien Godard [Wed, 22 Sep 2010 20:16:13 +0000 (22:16 +0200)]
Added SADC_OPTIONS to sysstat configuration file, and sysstat(5) manual page.

Mail from Ivana Varekova (20/09/2010):
SADC_OPTIONS is now the prefered way to pass args to sadc. It is read from
sa1 and sa2 shell scripts from /etc/sysconfig/sysstat configuration file.
Also add sysstat(5) manual page that describes the various environment
variables and their meanings.

13 years agoFixed configure's --disable-man-group option.
Sebastien Godard [Wed, 22 Sep 2010 18:20:42 +0000 (20:20 +0200)]
Fixed configure's --disable-man-group option.

Mail from Ivana Varekova (21/09/2010):
Using --disable-man-group option with configure resulted in man_group variable
being used. With --enable-man-group, the variable was ignored, which is the
opposite of what is expected.
This patch fixes that.

13 years agoMoved manual pages from $prefix/man to $prefix/share/man.
Sebastien Godard [Tue, 21 Sep 2010 19:52:17 +0000 (21:52 +0200)]
Moved manual pages from $prefix/man to $prefix/share/man.

Mail from Ivana Varekova (21/09/2010).
The Linux Filesystem Hierarchy now defines the default location for
manual pages as /usr/share/man instead of /usr/man.
So update sysstat to reflect this change.
See: http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/Linux-Filesystem-Hierarchy.html#usr

13 years agoFixed XML output for hugepages utilization statistics.
Sebastien Godard [Sun, 19 Sep 2010 14:04:31 +0000 (16:04 +0200)]
Fixed XML output for hugepages utilization statistics.

Indentation was wrong after displaying hugepages stats in XML format.

13 years agoCode cleaned.
Sebastien Godard [Sat, 18 Sep 2010 14:24:06 +0000 (16:24 +0200)]
Code cleaned.

Updated .gitignore file to ignore some more files.
Updated various source headers: (C) 2010 instead of (C) 2009.
Updated sar manual page: sar -A also includes -m ALL.

13 years agoAdded hugepages utilization statistics.
Sebastien Godard [Sat, 18 Sep 2010 13:14:13 +0000 (15:14 +0200)]
Added hugepages utilization statistics.

Added option -H to sar to display hugepages utilization statistics.
Sar manual page updated.
DTD and XSD documents updated (v2.9)

13 years agoStart release 9.1.6 and make it git aware.
Sebastien Godard [Thu, 16 Sep 2010 11:58:11 +0000 (13:58 +0200)]
Start release 9.1.6 and make it git aware.

13 years agoFirst use of git system. Based on a complete sysstat 9.1.5 version. v9.1.5
Sebastien Godard [Mon, 13 Sep 2010 19:47:33 +0000 (21:47 +0200)]
First use of git system. Based on a complete sysstat 9.1.5 version.