diff -Nru sysstat-10.1.7/.gitignore sysstat-10.2.0/.gitignore --- sysstat-10.1.7/.gitignore 2013-04-21 14:17:15.000000000 +0000 +++ sysstat-10.2.0/.gitignore 2013-09-28 13:29:58.000000000 +0000 @@ -8,6 +8,7 @@ crontab version.h sysconfig.h +prealloc.h sysstat.sysconfig sysstat.service sysstat.crond diff -Nru sysstat-10.1.7/CHANGES sysstat-10.2.0/CHANGES --- sysstat-10.1.7/CHANGES 2013-09-13 06:44:33.000000000 +0000 +++ sysstat-10.2.0/CHANGES 2013-11-02 13:50:36.000000000 +0000 @@ -1,5 +1,29 @@ Changes: +2013/11/03: Version 10.2.0 - Sebastien Godard (sysstat orange.fr) + * pidstat: Added option -v, enabling the user to display the + number of threads and file descriptors associated with tasks. + * Stack stats displayed by "pidstat -s" were sometimes not + displayed for some processes although values had changed. + This is now fixed. + * pidstat can now display stats since system startup for a list + of processes given on the command line. + * pidstat -d now displays -1 for I/O stats values when the + process I/O file cannot be read (permission denied or file + non existent). + * mpstat and pidstat commands now exit immediately when they + get a SIGINT signal during the first interval of time. + * [Alexander Troosh]: mpstat: Take into account the highest + processor number in mpstat output. + * Rearrange options displayed by sar -h (upper case option + should be displayed before its lower case counterpart). + * Added "prealloc" variable to configure script. This variable + will determine the size of data files created by sar/sadc. + * Added xz-compressed target to Makefile. + * pidstat manual page updated. + * NLS updated. + * CREDIT updated. + 2013/09/13: Version 10.1.7 - Sebastien Godard (sysstat orange.fr) * New metric added to sar network devices statistics: %ifutil now gives the network interface utilization percentage. diff -Nru sysstat-10.1.7/CREDITS sysstat-10.2.0/CREDITS --- sysstat-10.1.7/CREDITS 2013-08-15 12:35:41.000000000 +0000 +++ sysstat-10.2.0/CREDITS 2013-11-01 08:04:10.000000000 +0000 @@ -188,6 +188,7 @@ Chris Morrow David J. Morse Hariprasad Nellitheertha + Muneyuki Noguchi Giulio Orsero Edouard G. Parmelan Oliver Paukstadt @@ -217,6 +218,7 @@ Graham Swallow Mike Sweger Don Totten + Alexander Troosh Stephen Tweedie Petr Uzel Thomas Weber diff -Nru sysstat-10.1.7/Makefile.in sysstat-10.2.0/Makefile.in --- sysstat-10.1.7/Makefile.in 2013-07-06 13:22:27.000000000 +0000 +++ sysstat-10.2.0/Makefile.in 2013-09-28 13:29:58.000000000 +0000 @@ -199,7 +199,7 @@ json_stats.o: json_stats.c sa.h sadf.h ioconf.h sysconfig.h json_stats.h -sa_wrap.o: sa_wrap.c sa.h rd_stats.h count.h rd_sensors.h +sa_wrap.o: sa_wrap.c sa.h rd_stats.h count.h rd_sensors.h prealloc.h format.o: format.c sadf.h @@ -263,7 +263,7 @@ # Phony targets .PHONY: clean distclean install install_base install_all uninstall \ - uninstall_base uninstall_all dist bdist gitdist + uninstall_base uninstall_all dist bdist xdist gitdist install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/sysstat.5 ifeq ($(INSTALL_DOC),y) @@ -506,7 +506,7 @@ find nls -name "*.gmo" -exec rm -f {} \; almost-distclean: clean nls/sysstat.pot - rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h + rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h prealloc.h rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in rm -f contrib/isag/isag @@ -529,6 +529,9 @@ bdist: almost-distclean cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION).tar.bz2) +xdist: almost-distclean + cd .. && (tar --exclude=Makefile --exclude=.git -cvf - sysstat-$(VERSION) | xz > sysstat-$(VERSION).tar.xz) + gitdist: almost-distclean cd .. && (tar --exclude=Makefile -cvf - sysstat-$(VERSION) | bzip2 > sysstat-$(VERSION)-git.tar.bz2) diff -Nru sysstat-10.1.7/build/prealloc sysstat-10.2.0/build/prealloc --- sysstat-10.1.7/build/prealloc 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-10.2.0/build/prealloc 2013-09-28 13:29:58.000000000 +0000 @@ -0,0 +1,12 @@ + +sar (or sadc) allocates empty records in the data files it creates so that +it can save statistics for devices (disks, network interfaces, etc.) that +may be added to the system after the file was created. The drawback is that +data files take more space on disk than actually strictly necessary. +Answer here a positive integer number telling sar/sadc how much space they +should allocate for such devices. The default value (1) means that a few +records will be allocated. A greater value (e.g. 2 or 3) means that many +more of them will be allocated. A value of 0 doesn't allocate any empty +records. +The default value should be OK for most of you. + diff -Nru sysstat-10.1.7/cifsiostat.c sysstat-10.2.0/cifsiostat.c --- sysstat-10.1.7/cifsiostat.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/cifsiostat.c 2013-10-27 14:37:56.000000000 +0000 @@ -169,7 +169,7 @@ int i; /* How many processors on this machine? */ - cpu_nr = get_cpu_nr(~0); + cpu_nr = get_cpu_nr(~0, FALSE); /* Get number of CIFS directories in /proc/fs/cifs/Stats */ if ((cifs_nr = get_cifs_nr()) > 0) { diff -Nru sysstat-10.1.7/cifsiostat.h sysstat-10.2.0/cifsiostat.h --- sysstat-10.1.7/cifsiostat.h 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/cifsiostat.h 2013-10-27 14:44:29.000000000 +0000 @@ -26,7 +26,7 @@ #define DISPLAY_HUMAN_READ(m) (((m) & I_D_HUMAN_READ) == I_D_HUMAN_READ) #define DISPLAY_DEBUG(m) (((m) & I_D_DEBUG) == I_D_DEBUG) -/* Preallocation constats */ +/* Preallocation constants */ #define NR_CIFS_PREALLOC 2 struct cifs_stats { diff -Nru sysstat-10.1.7/configure sysstat-10.2.0/configure --- sysstat-10.1.7/configure 2013-06-10 19:55:31.000000000 +0000 +++ sysstat-10.2.0/configure 2013-09-28 13:29:58.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sysstat 10.1.7. +# Generated by GNU Autoconf 2.69 for sysstat 10.2.0. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='sysstat' PACKAGE_TARNAME='sysstat' -PACKAGE_VERSION='10.1.7' -PACKAGE_STRING='sysstat 10.1.7' +PACKAGE_VERSION='10.2.0' +PACKAGE_STRING='sysstat 10.2.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -642,6 +642,8 @@ IGNORE_MAN_GROUP MAN_GROUP man_group +PREALLOC_FACTOR +prealloc COMPRESSAFTER compressafter HISTORY @@ -758,6 +760,7 @@ conf_dir history compressafter +prealloc man_group cron_owner cron_interval' @@ -1301,7 +1304,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sysstat 10.1.7 to adapt to many kinds of systems. +\`configure' configures sysstat 10.2.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1362,7 +1365,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sysstat 10.1.7:";; + short | recursive ) echo "Configuration of sysstat 10.2.0:";; esac cat <<\_ACEOF @@ -1407,6 +1410,8 @@ compressafter number of days after which data files are compressed (default value is 10) + prealloc preallocation factor that will determine data files size + (default value is 1) man_group group for manual pages cron_owner crontab owner cron_interval @@ -1478,7 +1483,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sysstat configure 10.1.7 +sysstat configure 10.2.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1897,7 +1902,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sysstat $as_me 10.1.7, which was +It was created by sysstat $as_me 10.2.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -5053,6 +5058,19 @@ $as_echo "$COMPRESSAFTER" >&6; } +# Preallocation factor +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking preallocation factor value" >&5 +$as_echo_n "checking preallocation factor value... " >&6; } + +if test x$prealloc = x""; then + PREALLOC_FACTOR=1 +else + PREALLOC_FACTOR=$prealloc +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PREALLOC_FACTOR" >&5 +$as_echo "$PREALLOC_FACTOR" >&6; } + + # Manual page group grep ^man: /etc/group >/dev/null 2>&1 if test $? = 0; then @@ -5360,6 +5378,8 @@ # File must be renamed ac_config_files="$ac_config_files sysconfig.h:sysconfig.in" # File must be renamed +ac_config_files="$ac_config_files prealloc.h:prealloc.in" + # File must be renamed ac_config_files="$ac_config_files cron/sysstat.cron.daily" ac_config_files="$ac_config_files cron/sysstat.cron.hourly" @@ -5937,7 +5957,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sysstat $as_me 10.1.7, which was +This file was extended by sysstat $as_me 10.2.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5990,7 +6010,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sysstat config.status 10.1.7 +sysstat config.status 10.2.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -6106,6 +6126,7 @@ "sysstat.sysconfig") CONFIG_FILES="$CONFIG_FILES sysstat.sysconfig" ;; "version.h") CONFIG_FILES="$CONFIG_FILES version.h:version.in" ;; "sysconfig.h") CONFIG_FILES="$CONFIG_FILES sysconfig.h:sysconfig.in" ;; + "prealloc.h") CONFIG_FILES="$CONFIG_FILES prealloc.h:prealloc.in" ;; "cron/sysstat.cron.daily") CONFIG_FILES="$CONFIG_FILES cron/sysstat.cron.daily" ;; "cron/sysstat.cron.hourly") CONFIG_FILES="$CONFIG_FILES cron/sysstat.cron.hourly" ;; "cron/sysstat.crond") CONFIG_FILES="$CONFIG_FILES cron/sysstat.crond" ;; diff -Nru sysstat-10.1.7/configure.in sysstat-10.2.0/configure.in --- sysstat-10.1.7/configure.in 2013-06-10 19:55:15.000000000 +0000 +++ sysstat-10.2.0/configure.in 2013-09-28 13:29:58.000000000 +0000 @@ -4,7 +4,7 @@ # Modified by Sebastien Godard (sysstat orange.fr) # Initialization of $PACKAGE_VERSION and $PACKAGE_NAME variables -AC_INIT(sysstat, 10.1.7) +AC_INIT(sysstat, 10.2.0) # Ensure that a recent enough version of Autoconf is being used AC_PREREQ(2.53) @@ -318,6 +318,17 @@ AC_MSG_RESULT($COMPRESSAFTER) AC_SUBST(COMPRESSAFTER) +# Preallocation factor +AC_MSG_CHECKING(preallocation factor value) +AC_ARG_VAR([prealloc],[preallocation factor that will determine data files size (default value is 1)]) +if test x$prealloc = x""; then + PREALLOC_FACTOR=1 +else + PREALLOC_FACTOR=$prealloc +fi +AC_MSG_RESULT($PREALLOC_FACTOR) +AC_SUBST(PREALLOC_FACTOR) + # Manual page group grep ^man: /etc/group >/dev/null 2>&1 if test $? = 0; then @@ -566,6 +577,7 @@ AC_CONFIG_FILES([sysstat.sysconfig]) AC_CONFIG_FILES([version.h:version.in]) # File must be renamed AC_CONFIG_FILES([sysconfig.h:sysconfig.in]) # File must be renamed +AC_CONFIG_FILES([prealloc.h:prealloc.in]) # File must be renamed AC_CONFIG_FILES([cron/sysstat.cron.daily]) AC_CONFIG_FILES([cron/sysstat.cron.hourly]) AC_CONFIG_FILES([cron/sysstat.crond]) diff -Nru sysstat-10.1.7/count.c sysstat-10.2.0/count.c --- sysstat-10.1.7/count.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/count.c 2013-10-27 14:37:56.000000000 +0000 @@ -46,19 +46,24 @@ *************************************************************************** * Count number of processors in /sys. * + * IN: + * @highest If set to TRUE, then look for the highest processor number. + * This is used when eg. the machine has 4 CPU numbered 0, 1, 4 + * and 5. In this case, this procedure will return 6. + * * RETURNS: * Number of processors (online and offline). * A value of 0 means that /sys was not mounted. * A value of N (!=0) means N processor(s) (cpu0 .. cpu(N-1)). *************************************************************************** */ -int get_sys_cpu_nr(void) +int get_sys_cpu_nr(int highest) { DIR *dir; struct dirent *drd; struct stat buf; char line[MAX_PF_NAME]; - int proc_nr = 0; + int num_proc, proc_nr = -1; /* Open relevant /sys directory */ if ((dir = opendir(SYSFS_DEVCPU)) == NULL) @@ -73,7 +78,15 @@ if (stat(line, &buf) < 0) continue; if (S_ISDIR(buf.st_mode)) { - proc_nr++; + if (highest) { + sscanf(drd->d_name + 3, "%d", &num_proc); + if (num_proc > proc_nr) { + proc_nr = num_proc; + } + } + else { + proc_nr++; + } } } } @@ -81,7 +94,7 @@ /* Close directory */ closedir(dir); - return proc_nr; + return (proc_nr + 1); } /* @@ -123,11 +136,15 @@ /* *************************************************************************** - * Count the number of processors on the machine. + * Count the number of processors on the machine, or look for the + * highest processor number. * Try to use /sys for that, or /proc/stat if /sys doesn't exist. * * IN: * @max_nr_cpus Maximum number of proc that sysstat can handle. + * @highest If set to TRUE, then look for the highest processor number. + * This is used when eg. the machine has 4 CPU numbered 0, 1, 4 + * and 5. In this case, this procedure will return 6. * * RETURNS: * Number of processors. @@ -138,11 +155,11 @@ * 2: two proc... *************************************************************************** */ -int get_cpu_nr(unsigned int max_nr_cpus) +int get_cpu_nr(unsigned int max_nr_cpus, int highest) { int cpu_nr; - if ((cpu_nr = get_sys_cpu_nr()) == 0) { + if ((cpu_nr = get_sys_cpu_nr(highest)) == 0) { /* /sys may be not mounted. Use /proc/stat instead */ cpu_nr = get_proc_cpu_nr(); } diff -Nru sysstat-10.1.7/count.h sysstat-10.2.0/count.h --- sysstat-10.1.7/count.h 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/count.h 2013-10-27 14:37:56.000000000 +0000 @@ -16,12 +16,11 @@ */ extern int - get_cpu_nr(unsigned int); + get_cpu_nr(unsigned int, int); extern int get_irqcpu_nr(char *, int, int); extern int get_diskstats_dev_nr(int, int); - extern int get_irq_nr(void); extern int diff -Nru sysstat-10.1.7/debian/changelog sysstat-10.2.0/debian/changelog --- sysstat-10.1.7/debian/changelog 2013-09-21 20:28:49.000000000 +0000 +++ sysstat-10.2.0/debian/changelog 2013-11-10 09:26:52.000000000 +0000 @@ -1,3 +1,13 @@ +sysstat (10.2.0-1) unstable; urgency=low + + * New upstream stable version. + * debian/control: + + replace `tk8.5' with `tk' in isag depends line (closes: #725696); + + move `Homepage' to source package fields (lintian); + + bump Standards-Version to 3.9.5. + + -- Robert Luberda Sun, 10 Nov 2013 10:25:19 +0100 + sysstat (10.1.7-1) unstable; urgency=low * New upstream version. diff -Nru sysstat-10.1.7/debian/control sysstat-10.2.0/debian/control --- sysstat-10.1.7/debian/control 2013-09-21 20:28:49.000000000 +0000 +++ sysstat-10.2.0/debian/control 2013-11-10 09:26:52.000000000 +0000 @@ -3,7 +3,8 @@ Priority: optional Maintainer: Robert Luberda Build-Depends: debhelper (>= 9), gettext, libsensors4-dev -Standards-Version: 3.9.4 +Standards-Version: 3.9.5 +Homepage: http://pagesperso-orange.fr/sebastien.godard/ Vcs-Git: git://anonscm.debian.org/users/robert/sysstat.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=users/robert/sysstat.git @@ -31,17 +32,15 @@ network activity, memory and swap space utilization, CPU utilization, kernel activities and TTY statistics, among others. Both UP and SMP machines are fully supported. -Homepage: http://pagesperso-orange.fr/sebastien.godard/ Package: isag Architecture: all Depends: gnuplot-x11, sysstat (>= ${source:Version}), - tk8.5|wish, + tk|wish, ${misc:Depends} Suggests: rcs Description: Interactive System Activity Grapher for sysstat This package provides the command isag, which graphically displays the system activity data stored in the binary logs produced by sar (in the package sysstat). -Homepage: http://pagesperso-orange.fr/sebastien.godard/ diff -Nru sysstat-10.1.7/debian/patches/00-Makefile.patch sysstat-10.2.0/debian/patches/00-Makefile.patch --- sysstat-10.1.7/debian/patches/00-Makefile.patch 2013-09-21 20:28:49.000000000 +0000 +++ sysstat-10.2.0/debian/patches/00-Makefile.patch 2013-11-10 09:26:52.000000000 +0000 @@ -8,7 +8,7 @@ 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/Makefile.in b/Makefile.in -index ca208cf..1343b2d 100644 +index 9ce9ee6..b8566b8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -69,9 +69,9 @@ NLS_DIR = $(PREFIX)/share/locale @@ -103,6 +103,6 @@ -almost-distclean: clean nls/sysstat.pot +almost-distclean: clean - rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h + rm -f sa1 sa2 sysstat cron/crontab version.h sysconfig.h prealloc.h rm -f sysstat.sysconfig cron/sysstat.crond cron/sysstat.cron.daily sysstat.service rm -f cron/sysstat.cron.hourly cron/sysstat.crond.sample cron/sysstat.crond.sample.in diff -Nru sysstat-10.1.7/debian/patches/06-exec.patch sysstat-10.2.0/debian/patches/06-exec.patch --- sysstat-10.1.7/debian/patches/06-exec.patch 2013-09-21 20:28:49.000000000 +0000 +++ sysstat-10.2.0/debian/patches/06-exec.patch 2013-11-10 09:26:52.000000000 +0000 @@ -10,7 +10,7 @@ 1 file changed, 1 deletion(-) diff --git a/sar.c b/sar.c -index b03b486..c990f16 100644 +index 343eebb..a9865a2 100644 --- a/sar.c +++ b/sar.c @@ -1432,7 +1432,6 @@ int main(int argc, char **argv) diff -Nru sysstat-10.1.7/iconfig sysstat-10.2.0/iconfig --- sysstat-10.1.7/iconfig 2013-06-08 06:53:45.000000000 +0000 +++ sysstat-10.2.0/iconfig 2013-09-28 13:29:58.000000000 +0000 @@ -88,6 +88,12 @@ COMPRESSAFTER="compressafter=${COMPRESSAFTER} " fi +# Preallocation factor +PREALLOC_ANSWER=`${ASK} 'Preallocation factor value:' "prealloc" "prealloc"` +if [ "${PREALLOC_ANSWER}" != "" ]; then + PREALLOC_ANSWER="prealloc=${PREALLOC_ANSWER} " +fi + # Manual page group MAN=`${ASK} 'Group for manual pages:' "man_group" "man_group"` if [ "${MAN}" != "" ]; then @@ -194,11 +200,11 @@ echo echo "./configure ${PREFIX}${SA_LIB_DIR}${SA_DIR}${SYSCONFIG_DIR}${CLEAN_SA_DIR}${NLS} \ -${YESTERDAY}${HISTORY}${COMPRESSAFTER}${MAN}${IGNORE_MAN}${CRON}${RCDIR} \ +${YESTERDAY}${HISTORY}${COMPRESSAFTER}${PREALLOC_ANSWER}${MAN}${IGNORE_MAN}${CRON}${RCDIR} \ ${COMPRESSMANPG}${INSTALL_DOC}${DEBUGINFO}${INSTALL_ISAG}${SENSORS}${STRIP}" echo ./configure ${PREFIX}${SA_LIB_DIR}${SA_DIR}${SYSCONFIG_DIR}${CLEAN_SA_DIR}${NLS} \ -${YESTERDAY}${HISTORY}${COMPRESSAFTER}${MAN}${IGNORE_MAN}${CRON}${RCDIR} \ +${YESTERDAY}${HISTORY}${COMPRESSAFTER}${PREALLOC_ANSWER}${MAN}${IGNORE_MAN}${CRON}${RCDIR} \ ${COMPRESSMANPG}${INSTALL_DOC}${DEBUGINFO}${INSTALL_ISAG}${SENSORS}${STRIP} diff -Nru sysstat-10.1.7/iostat.c sysstat-10.2.0/iostat.c --- sysstat-10.1.7/iostat.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/iostat.c 2013-10-27 14:37:56.000000000 +0000 @@ -303,7 +303,7 @@ init_stats(); /* How many processors on this machine? */ - cpu_nr = get_cpu_nr(~0); + cpu_nr = get_cpu_nr(~0, FALSE); /* Get number of block devices and partitions in /proc/diskstats */ if ((iodev_nr = get_diskstats_dev_nr(CNT_PART, CNT_ALL_DEV)) > 0) { diff -Nru sysstat-10.1.7/man/pidstat.1 sysstat-10.2.0/man/pidstat.1 --- sysstat-10.1.7/man/pidstat.1 2013-04-21 14:20:32.000000000 +0000 +++ sysstat-10.2.0/man/pidstat.1 2013-09-28 13:29:58.000000000 +0000 @@ -1,10 +1,10 @@ -.TH PIDSTAT 1 "MARCH 2013" Linux "Linux User's Manual" -*- nroff -*- +.TH PIDSTAT 1 "SEPTEMBER 2013" Linux "Linux User's Manual" -*- nroff -*- .SH NAME pidstat \- Report statistics for Linux tasks. .SH SYNOPSIS .B pidstat [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ .I username -.B ] ] [ -u ] [ -V ] +.B ] ] [ -u ] [ -V ] [ -v ] .B [ -w ] [ -C .I comm .B ] [ -p { @@ -414,6 +414,40 @@ .RE .IP -V Print version number then exit. +.IP -v +Report values of some kernel tables. The following values may be displayed: + +.B UID +.RS +.RS +The real user identification number of the task being monitored. +.RE + +.B USER +.RS +The name of the real user owning the task being monitored. +.RE + +.B PID +.RS +The identification number of the task being monitored. +.RE + +.B threads +.RS +Number of threads associated with current task. +.RE + +.B fd-nr +.RS +Number of file descriptors associated with current task. +.RE + +.B Command +.RS +The command name of the task. +.RE +.RE .IP -w Report task switching activity (kernels 2.6.23 and later only). The following values may be displayed: diff -Nru sysstat-10.1.7/mpstat.c sysstat-10.2.0/mpstat.c --- sysstat-10.1.7/mpstat.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/mpstat.c 2013-10-27 14:37:56.000000000 +0000 @@ -798,6 +798,10 @@ sigaction(SIGINT, &int_act, NULL); pause(); + + if (sigint_caught) + /* SIGINT signal caught during first interval: Exit immediately */ + return; do { /* @@ -888,8 +892,8 @@ /* Get HZ */ get_HZ(); - /* How many processors on this machine ? */ - cpu_nr = get_cpu_nr(~0); + /* What is the highest processor number on this machine? */ + cpu_nr = get_cpu_nr(~0, TRUE); /* Calculate number of interrupts per processor */ irqcpu_nr = get_irqcpu_nr(INTERRUPTS, NR_IRQS, cpu_nr) + @@ -1062,7 +1066,7 @@ /* Get system name, release number and hostname */ uname(&header); print_gal_header(&(mp_tstamp[0]), header.sysname, header.release, - header.nodename, header.machine, cpu_nr); + header.nodename, header.machine, get_cpu_nr(~0, FALSE)); /* Main loop */ rw_mpstat_loop(dis_hdr, rows); diff -Nru sysstat-10.1.7/nfsiostat.c sysstat-10.2.0/nfsiostat.c --- sysstat-10.1.7/nfsiostat.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/nfsiostat.c 2013-10-27 14:37:56.000000000 +0000 @@ -193,7 +193,7 @@ int i; /* How many processors on this machine? */ - cpu_nr = get_cpu_nr(~0); + cpu_nr = get_cpu_nr(~0, FALSE); /* Get number of NFS directories in /proc/self/mountstats */ if ((ionfs_nr = get_nfs_mount_nr()) > 0) { diff -Nru sysstat-10.1.7/nls/sr.po sysstat-10.2.0/nls/sr.po --- sysstat-10.1.7/nls/sr.po 2012-05-24 21:02:09.000000000 +0000 +++ sysstat-10.2.0/nls/sr.po 2013-10-03 08:37:01.000000000 +0000 @@ -1,13 +1,13 @@ # Serbian translation of # Copyright (C) 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the sysstat package. -# Мирослав Николић , 2011, 2012. +# Мирослав Николић , 2011, 2012, 2013. msgid "" msgstr "" -"Project-Id-Version: sysstat-10.0.5\n" +"Project-Id-Version: sysstat-10.1.7\n" "Report-Msgid-Bugs-To: sysstat orange.fr\n" -"POT-Creation-Date: 2012-05-08 21:39+0200\n" -"PO-Revision-Date: 2012-05-24 22:53+0200\n" +"POT-Creation-Date: 2013-09-13 09:20+0200\n" +"PO-Revision-Date: 2013-10-03 10:15+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" "Language: sr\n" @@ -16,159 +16,83 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: cifsiostat.c:69 iostat.c:84 mpstat.c:86 nfsiostat.c:68 pidstat.c:78 -#: sar.c:90 +#: iostat.c:86 cifsiostat.c:71 mpstat.c:90 sar.c:94 pidstat.c:83 +#: nfsiostat.c:70 #, c-format msgid "Usage: %s [ options ] [ [ ] ]\n" msgstr "Употреба: %s [ опције ] [ <период> [ <број> ] ]\n" -#: cifsiostat.c:73 nfsiostat.c:72 +#: iostat.c:89 #, c-format msgid "" "Options are:\n" -"[ --debuginfo ] [ -h ] [ -k | -m ] [ -t ] [ -V ]\n" -msgstr "" -"Опције су:\n" -"[ --debuginfo ] [ -h ] [ -k | -m ] [ -t ] [ -V ]\n" - -#: cifsiostat.c:76 nfsiostat.c:75 -#, c-format -msgid "" -"Options are:\n" -"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n" -msgstr "" -"Опције су:\n" -"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n" - -#: common.c:57 -#, c-format -msgid "sysstat version %s\n" -msgstr "издање стања система %s\n" - -#: ioconf.c:491 rd_stats.c:68 rd_stats.c:2120 sa_common.c:1061 sadc.c:623 -#: sadc.c:632 sadc.c:693 -#, c-format -msgid "Cannot open %s: %s\n" -msgstr "Не могу да отворим %s: %s\n" - -#: iostat.c:87 -#, c-format -msgid "" -"Options are:\n" -"[ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ]\n" -"[ [ [ -T ] -g ] { [...] | ALL } ]\n" -"[ -p [ [,...] | ALL ] ] [ --debuginfo ]\n" -msgstr "" -"Опције су:\n" -"[ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ]\n" -"[ [ [ -T ] -g <назив_групе> ] { <уређај> [...] | СВЕ } ]\n" -"[ -p [ <уређај> [,...] | СВЕ ] ] [ --debuginfo ]\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ]\n" +"[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]\n" +"[ [...] | ALL ] [ --debuginfo ]\n" +msgstr "" +"Могућности су:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n" +"[ -j { ИБ | НАТПИС | ПУТАЊА | ЈУИБ | ... } ]\n" +"[ [ -T ] -g <назив_групе> ] [ -p [ <уређај> [,...] | СВЕ ] ]\n" +"[ <уређај> [...] | СВЕ ] [ --debuginfo ]\n" -#: iostat.c:92 +#: iostat.c:95 #, c-format msgid "" "Options are:\n" -"[ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ]\n" -"[ [ [ -T ] -g ] { [...] | ALL } ]\n" -"[ -p [ [,...] | ALL ] ]\n" -msgstr "" -"Опције су:\n" -"[ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ]\n" -"[ [ [ -T ] -g <назив_групе> ] { <уређај> [...] | СВЕ } ]\n" -"[ -p [ <уређај> [,...] | СВЕ ] ]\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ]\n" +"[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]\n" +"[ [...] | ALL ]\n" +msgstr "" +"Могућности су:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n" +"[ -j { ИБ | НАТПИС | ПУТАЊА | ЈУИБ | ... } ]\n" +"[ [ -T ] -g <назив_групе> ] [ -p [ <уређај> [,...] | СВЕ ] ]\n" +"[ <уређај> [...] | СВЕ ]\n" -#: iostat.c:327 +#: iostat.c:328 #, c-format msgid "Cannot find disk data\n" msgstr "Не могу да пронађем податке о диску\n" -#: mpstat.c:89 +#: iostat.c:1385 sa_common.c:1303 #, c-format -msgid "" -"Options are:\n" -"[ -A ] [ -I { SUM | CPU | SCPU | ALL } ] [ -u ]\n" -"[ -P { [,...] | ON | ALL } ] [ -V ]\n" -msgstr "" -"Опције су:\n" -"[ -A ] [ -I { SUM | CPU | SCPU | ALL } ] [ -u ]\n" -"[ -P { <цпј> [,...] | ON | ALL } ] [ -V ]\n" - -#: mpstat.c:582 pidstat.c:1822 sar.c:381 -msgid "Average:" -msgstr "Просек:" +msgid "Invalid type of persistent device name\n" +msgstr "Неисправна врста назива сталног уређаја\n" -#: mpstat.c:929 +#: sadf_misc.c:596 #, c-format -msgid "Not that many processors!\n" -msgstr "Не тако много процесора!\n" - -#: pidstat.c:81 -#, c-format -msgid "" -"Options are:\n" -"[ -C ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ]\n" -"[ -t ] [ -u ] [ -V ] [ -w ]\n" -"[ -p { [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n" -msgstr "" -"Опције су:\n" -"[ -C <наредба> ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ]\n" -"[ -t ] [ -u ] [ -V ] [ -w ]\n" -"[ -p { <пиб> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n" - -#: pidstat.c:199 sar.c:1013 -#, c-format -msgid "Requested activities not available\n" -msgstr "Захтевана активност није доступна\n" - -#: pr_stats.c:2319 pr_stats.c:2332 -msgid "Summary" -msgstr "Сажетак" - -#: pr_stats.c:2370 -msgid "Other devices not listed here" -msgstr "Остали уређаји који нису наведени овде" - -#: rd_stats.c:2166 -#, c-format -msgid "Cannot handle so many processors!\n" -msgstr "Не могу да рукујем са толико процесора!\n" - -#: sa_common.c:870 -#, c-format -msgid "Error while reading system activity file: %s\n" -msgstr "Грешка приликом читања датотеке рада система: %s\n" - -#: sa_common.c:880 -#, c-format -msgid "End of system activity file unexpected\n" -msgstr "Крај датотеке рада система није очекиван\n" +msgid "System activity data file: %s (%#x)\n" +msgstr "Датотека података рада система: %s (%#x)\n" -#: sa_common.c:898 +#: sadf_misc.c:605 #, c-format -msgid "File created using sar/sadc from sysstat version %d.%d.%d" -msgstr "Датотека је направљена коришћењем сар/садц-а из сис-стања издање %d.%d.%d" +msgid "Host: " +msgstr "Домаћин: " -#: sa_common.c:929 +#: sadf_misc.c:611 #, c-format -msgid "Invalid system activity file: %s\n" -msgstr "Неисправна датотека рада система: %s\n" +msgid "Size of a long int: %d\n" +msgstr "Величина дугог периода: %d\n" -#: sa_common.c:936 +#: sadf_misc.c:613 #, c-format -msgid "Current sysstat version can no longer read the format of this file (%#x)\n" -msgstr "Текуће издање сисстања не може више да чита формат те датотеке (%#x)\n" +msgid "List of activities:\n" +msgstr "Списак активности:\n" -#: sa_common.c:1168 +#: sadf_misc.c:626 #, c-format -msgid "Requested activities not available in file %s\n" -msgstr "Захтевана активност није доступна у датотеци %s\n" +msgid "\t[Unknown activity format]" +msgstr "\t[Непознат формат рада]" -#: sadc.c:81 +#: sadc.c:84 #, c-format msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" msgstr "Употреба: %s [ опције ] [ <период> [ <број> ] ] [ <изл.датотека> ]\n" -#: sadc.c:84 +#: sadc.c:87 #, c-format msgid "" "Options are:\n" @@ -179,109 +103,140 @@ "[ -C <примедба> ] [ -F ] [ -L ] [ -V ]\n" "[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]\n" -#: sadc.c:223 +#: sadc.c:258 #, c-format msgid "Cannot write data to system activity file: %s\n" msgstr "Не могу да запишем податке у датотеку рада система: %s\n" -#: sadc.c:510 +#: sadc.c:545 #, c-format msgid "Cannot write system activity file header: %s\n" msgstr "Не могу да запишем заглавље датотеке рада система: %s\n" -#: sadc.c:807 +#: sadc.c:658 sadc.c:667 sadc.c:728 ioconf.c:489 rd_stats.c:69 +#: sa_common.c:1109 count.c:105 +#, c-format +msgid "Cannot open %s: %s\n" +msgstr "Не могу да отворим %s: %s\n" + +#: sadc.c:850 #, c-format msgid "Cannot append data to that file (%s)\n" msgstr "Не могу да прикачим податке тој датотеци (%s)\n" -#: sadf.c:86 +#: common.c:62 #, c-format -msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" -msgstr "Употреба: %s [ опције ] [ <период> [ <број> ] ] [ <датотека података> ]\n" +msgid "sysstat version %s\n" +msgstr "издање стања система %s\n" -#: sadf.c:89 +#: cifsiostat.c:75 nfsiostat.c:74 #, c-format msgid "" "Options are:\n" -"[ -d | -j | -p | -x ] [ -C ] [ -H ] [ -h ] [ -T ] [ -t ] [ -V ]\n" -"[ -P { [,...] | ALL } ] [ -s [ ] ] [ -e [ ] ]\n" -"[ -- ]\n" +"[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n" msgstr "" -"Опције су:\n" -"[ -d | -j | -p | -x ] [ -C ] [ -H ] [ -h ] [ -T ] [ -t ] [ -V ]\n" -"[ -P { <цпј> [,...] | ALL } ] [ -s [ <чч:мм:сс> ] ] [ -e [ <чч:мм:сс> ] ]\n" -"[ -- <сар опције> ]\n" +"Могућности су:\n" +"[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n" -#: sadf_misc.c:595 +#: cifsiostat.c:78 nfsiostat.c:77 #, c-format -msgid "System activity data file: %s (%#x)\n" -msgstr "Датотека података рада система: %s (%#x)\n" +msgid "" +"Options are:\n" +"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n" +msgstr "" +"Опције су:\n" +"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n" -#: sadf_misc.c:604 +#: mpstat.c:93 #, c-format -msgid "Host: " -msgstr "Домаћин: " +msgid "" +"Options are:\n" +"[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n" +"[ -P { [,...] | ON | ALL } ]\n" +msgstr "" +"Могућности су:\n" +"[ -A ] [ -u ] [ -V ] [ -I { СУМ | ЦПЈ | СЦПЈ | СВЕ } ]\n" +"[ -P { <цпј> [,...] | УКЉ | СВЕ } ]\n" -#: sadf_misc.c:610 +#: mpstat.c:598 sar.c:402 pidstat.c:1857 +msgid "Average:" +msgstr "Просек:" + +#: mpstat.c:963 #, c-format -msgid "Size of a long int: %d\n" -msgstr "Величина дугог периода: %d\n" +msgid "Not that many processors!\n" +msgstr "Не тако много процесора!\n" -#: sadf_misc.c:612 +#: sadf.c:86 #, c-format -msgid "List of activities:\n" -msgstr "Списак активности:\n" +msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" +msgstr "Употреба: %s [ опције ] [ <период> [ <број> ] ] [ <датотека података> ]\n" -#: sadf_misc.c:625 +#: sadf.c:89 #, c-format -msgid "\t[Unknown activity format]" -msgstr "\t[Непознат формат рада]" +msgid "" +"Options are:\n" +"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n" +"[ -P { [,...] | ALL } ] [ -s [ ] ] [ -e [ ] ]\n" +"[ -- ]\n" +msgstr "" +"Могућности су:\n" +"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T ] [ -t | -U ] [ -V ]\n" +"[ -P { <цпј> [,...] | СВЕ } ] [ -s [ <чч:мм:сс> ] ] [ -e [ <чч:мм:сс> ] ]\n" +"[ -- <сар_могућности> ]\n" -#: sar.c:105 +#: sar.c:109 #, c-format msgid "" "Options are:\n" -"[ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -H ] [ -p ] [ -q ] [ -r ]\n" -"[ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]\n" +"[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]\n" +"[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]\n" "[ -I { [,...] | SUM | ALL | XALL } ] [ -P { [,...] | ALL } ]\n" "[ -m { [,...] | ALL } ] [ -n { [,...] | ALL } ]\n" -"[ -o [ ] | -f [ ] ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ]\n" +"[ -f [ ] | -o [ ] | -[0-9]+ ]\n" "[ -i ] [ -s [ ] ] [ -e [ ] ]\n" msgstr "" -"Опције су:\n" -"[ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -H ] [ -p ] [ -q ] [ -r ]\n" -"[ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]\n" -"[ -I { <период> [,...] | SUM | ALL | XALL } ] [ -P { <цпј> [,...] | ALL } ]\n" -"[ -m { <кључна реч> [,...] | ALL } ] [ -n { <кључна реч> [,...] | ALL } ]\n" -"[ -o [ <назив датотеке> ] | -f [ <назив датотеке> ] ]\n" +"Могућности су:\n" +"[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]\n" +"[ -r ] [ -S ] [ -t ] [ -u [ СВЕ ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]\n" +"[ -I { <инт> [,...] | СУМ | СВЕ | ИксСВЕ } ] [ -P { <цпј> [,...] | СВЕ } ]\n" +"[ -m { <кључна реч> [,...] | СВЕ } ] [ -n { <кључна реч> [,...] | СВЕ } ]\n" +"[ -j { ИБ | НАТПИС | ПУТАЊА | ЈУИБ | ... } ]\n" +"[ -f [ <назив_датотеке> ] | -o [ <назив_датотеке> ] | -[0-9]+ ]\n" "[ -i <период> ] [ -s [ <чч:мм:сс> ] ] [ -e [ <чч:мм:сс> ] ]\n" -#: sar.c:126 +#: sar.c:131 #, c-format msgid "Main options and reports:\n" msgstr "Главне опције и извештаји:\n" -#: sar.c:127 +#: sar.c:132 #, c-format msgid "\t-b\tI/O and transfer rate statistics\n" msgstr "\t-b\tУ/И и статистика протока преноса\n" -#: sar.c:128 +#: sar.c:133 #, c-format msgid "\t-B\tPaging statistics\n" msgstr "\t-B\tСтатистика страничења\n" -#: sar.c:129 +#: sar.c:134 #, c-format -msgid "\t-d\tBlock device statistics\n" +msgid "\t-d\tBlock devices statistics\n" msgstr "\t-d\tСтатистика блок уређаја\n" -#: sar.c:130 +#: sar.c:135 +#, c-format +msgid "\t-F\tFilesystems statistics\n" +msgstr "\t-F\tСтатистика система датотека\n" + +#: sar.c:136 #, c-format msgid "\t-H\tHugepages utilization statistics\n" msgstr "\t-H\tСтатистика коришћења великих страница\n" -#: sar.c:131 +#: sar.c:137 #, c-format msgid "" "\t-I { | SUM | ALL | XALL }\n" @@ -290,7 +245,7 @@ "\t-I { <период> | SUM | ALL | XALL }\n" "\t\tСтатистика прекида\n" -#: sar.c:133 +#: sar.c:139 #, c-format msgid "" "\t-m { [,...] | ALL }\n" @@ -313,7 +268,7 @@ "\t\tTEMP\tТемпература уређаја\n" "\t\tUSB\tУСБ уређаји прикључени на систем\n" -#: sar.c:142 +#: sar.c:148 #, c-format msgid "" "\t-n { [,...] | ALL }\n" @@ -360,27 +315,27 @@ "\t\tEICMP6\tИЦМП саобраћај\t(v6) (грешке)\n" "\t\tUDP6\tУДП саобраћај\t(v6)\n" -#: sar.c:163 +#: sar.c:169 #, c-format msgid "\t-q\tQueue length and load average statistics\n" msgstr "\t-q\tСтавља у ред статистику трајања и просека учитавања\n" -#: sar.c:164 +#: sar.c:170 #, c-format msgid "\t-r\tMemory utilization statistics\n" msgstr "\t-r\tСтатистика коришћења меморије\n" -#: sar.c:165 +#: sar.c:171 #, c-format msgid "\t-R\tMemory statistics\n" msgstr "\t-R\tСтатистика меморије\n" -#: sar.c:166 +#: sar.c:172 #, c-format msgid "\t-S\tSwap space utilization statistics\n" msgstr "\t-S\tСтатистика коришћења простора помоћне меморије\n" -#: sar.c:167 +#: sar.c:173 #, c-format msgid "" "\t-u [ ALL ]\n" @@ -389,57 +344,118 @@ "\t-u [ СВЕ ]\n" "\t\tСтатистика коришћења ЦПЈ\n" -#: sar.c:169 +#: sar.c:175 #, c-format -msgid "\t-v\tKernel table statistics\n" +msgid "\t-v\tKernel tables statistics\n" msgstr "\t-v\tСтатистика табеле језгра\n" -#: sar.c:170 +#: sar.c:176 #, c-format msgid "\t-w\tTask creation and system switching statistics\n" msgstr "\t-w\tСтатистика стварања задатака и пребацивања система\n" -#: sar.c:171 +#: sar.c:177 #, c-format msgid "\t-W\tSwapping statistics\n" msgstr "\t-W\tСтатистика помоћне меморије\n" -#: sar.c:172 +#: sar.c:178 #, c-format -msgid "\t-y\tTTY device statistics\n" +msgid "\t-y\tTTY devices statistics\n" msgstr "\t-y\tСтатистика ТТУ уређаја\n" -#: sar.c:215 +#: sar.c:236 #, c-format msgid "End of data collecting unexpected\n" msgstr "Крај прикупљања података није очекиван\n" -#: sar.c:802 +#: sar.c:823 #, c-format msgid "Invalid data format\n" msgstr "Неисправан формат података\n" -#: sar.c:806 +#: sar.c:827 #, c-format msgid "Using a wrong data collector from a different sysstat version\n" msgstr "Користим погрешан сабирник података из различитих издања сисстања\n" -#: sar.c:830 +#: sar.c:851 #, c-format msgid "Inconsistent input data\n" msgstr "Противречни улазни подаци\n" -#: sar.c:1260 +#: sar.c:1032 pidstat.c:214 +#, c-format +msgid "Requested activities not available\n" +msgstr "Захтевана активност није доступна\n" + +#: sar.c:1302 #, c-format msgid "-f and -o options are mutually exclusive\n" msgstr "опције -f и -o се међусобно искључују\n" -#: sar.c:1266 +#: sar.c:1308 #, c-format msgid "Not reading from a system activity file (use -f option)\n" msgstr "Не читам из датотеке рада система (користите -f опцију)\n" -#: sar.c:1393 +#: sar.c:1440 #, c-format msgid "Cannot find the data collector (%s)\n" msgstr "Не могу да пронађем сабирник података (%s)\n" + +#: sa_common.c:917 +#, c-format +msgid "Error while reading system activity file: %s\n" +msgstr "Грешка приликом читања датотеке рада система: %s\n" + +#: sa_common.c:927 +#, c-format +msgid "End of system activity file unexpected\n" +msgstr "Крај датотеке рада система није очекиван\n" + +#: sa_common.c:946 +#, c-format +msgid "File created by sar/sadc from sysstat version %d.%d.%d" +msgstr "Датотеку је направио сар/садц из сис-стања издање %d.%d.%d" + +#: sa_common.c:977 +#, c-format +msgid "Invalid system activity file: %s\n" +msgstr "Неисправна датотека рада система: %s\n" + +#: sa_common.c:984 +#, c-format +msgid "Current sysstat version can no longer read the format of this file (%#x)\n" +msgstr "Текуће издање сисстања не може више да чита формат те датотеке (%#x)\n" + +#: sa_common.c:1216 +#, c-format +msgid "Requested activities not available in file %s\n" +msgstr "Захтевана активност није доступна у датотеци %s\n" + +#: pidstat.c:86 +#, c-format +msgid "" +"Options are:\n" +"[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ ] ] [ -u ]\n" +"[ -V ] [ -w ] [ -C ] [ -p { [,...] | SELF | ALL } ]\n" +"[ -T { TASK | CHILD | ALL } ]\n" +msgstr "" +"Могућности су:\n" +"[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ <корисничко_име> ] ] [ -u ]\n" +"[ -V ] [ -w ] [ -C <наредба> ] [ -p { <пиб> [,...] | САМ | СВЕ } ]\n" +"[ -T { ЗАДАТАК | ПОТПРОЦЕС | СВЕ } ]\n" + +#: count.c:151 +#, c-format +msgid "Cannot handle so many processors!\n" +msgstr "Не могу да рукујем са толико процесора!\n" + +#: pr_stats.c:2355 pr_stats.c:2368 pr_stats.c:2468 pr_stats.c:2480 +msgid "Summary" +msgstr "Сажетак" + +#: pr_stats.c:2406 +msgid "Other devices not listed here" +msgstr "Остали уређаји који нису наведени овде" diff -Nru sysstat-10.1.7/nls/tr.po sysstat-10.2.0/nls/tr.po --- sysstat-10.1.7/nls/tr.po 2013-06-05 11:27:06.000000000 +0000 +++ sysstat-10.2.0/nls/tr.po 2013-10-28 15:32:01.000000000 +0000 @@ -5,10 +5,10 @@ # Volkan Gezer , 2013. msgid "" msgstr "" -"Project-Id-Version: sysstat 10.1.4\n" +"Project-Id-Version: sysstat 10.1.7\n" "Report-Msgid-Bugs-To: sysstat orange.fr\n" -"POT-Creation-Date: 2013-03-03 15:47+0100\n" -"PO-Revision-Date: 2013-05-29 20:42+0300\n" +"POT-Creation-Date: 2013-09-13 09:20+0200\n" +"PO-Revision-Date: 2013-10-28 16:26+0100\n" "Last-Translator: Volkan Gezer \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -18,38 +18,13 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Lokalize 1.5\n" -#: sadf_misc.c:596 -#, c-format -msgid "System activity data file: %s (%#x)\n" -msgstr "Sistem etkinliği veri dosyası: %s (%#x)\n" - -#: sadf_misc.c:605 -#, c-format -msgid "Host: " -msgstr "Sunucu: " - -#: sadf_misc.c:611 -#, c-format -msgid "Size of a long int: %d\n" -msgstr "" - -#: sadf_misc.c:613 -#, c-format -msgid "List of activities:\n" -msgstr "Etkinlikler listesi:\n" - -#: sadf_misc.c:626 -#, c-format -msgid "\t[Unknown activity format]" -msgstr "\t[Bilinmeyen etkinlik biçimi]" - -#: iostat.c:85 cifsiostat.c:70 mpstat.c:89 pidstat.c:82 sar.c:94 -#: nfsiostat.c:69 +#: iostat.c:86 cifsiostat.c:71 mpstat.c:90 sar.c:94 pidstat.c:83 +#: nfsiostat.c:70 #, c-format msgid "Usage: %s [ options ] [ [ ] ]\n" msgstr "Kullanım: %s [ seçenekler ] [ [ ] ]\n" -#: iostat.c:88 +#: iostat.c:89 #, c-format msgid "" "Options are:\n" @@ -58,8 +33,13 @@ "[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]\n" "[ [...] | ALL ] [ --debuginfo ]\n" msgstr "" +"Seçenekler:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n" +"[ -j { ID | ETİKET | YOL | UUID | ... } ]\n" +"[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]\n" +"[ [...] | ALL ] [ --debuginfo ]\n" -#: iostat.c:94 +#: iostat.c:95 #, c-format msgid "" "Options are:\n" @@ -68,16 +48,46 @@ "[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]\n" "[ [...] | ALL ]\n" msgstr "" +"Seçenekler:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n" +"[ -j { ID | ETİKET | YOL | UUID | ... } ]\n" +"[ [ -T ] -g ] [ -p [ [,...] | ALL ] ]\n" +"[ [...] | ALL ]\n" -#: iostat.c:329 +#: iostat.c:328 #, c-format msgid "Cannot find disk data\n" -msgstr "" +msgstr "Disk verisi bulunamıyor\n" -#: iostat.c:1392 sa_common.c:1300 +#: iostat.c:1385 sa_common.c:1303 #, c-format msgid "Invalid type of persistent device name\n" -msgstr "" +msgstr "Geçersiz kalıcı aygıt adı türü\n" + +#: sadf_misc.c:596 +#, c-format +msgid "System activity data file: %s (%#x)\n" +msgstr "Sistem etkinliği veri dosyası: %s (%#x)\n" + +#: sadf_misc.c:605 +#, c-format +msgid "Host: " +msgstr "Sunucu: " + +#: sadf_misc.c:611 +#, c-format +msgid "Size of a long int: %d\n" +msgstr "Bir long int boyutu: %d\n" + +#: sadf_misc.c:613 +#, c-format +msgid "List of activities:\n" +msgstr "Etkinlikler listesi:\n" + +#: sadf_misc.c:626 +#, c-format +msgid "\t[Unknown activity format]" +msgstr "\t[Bilinmeyen etkinlik biçimi]" #: sadc.c:84 #, c-format @@ -95,23 +105,23 @@ "[ -C ] [ -F ] [ -L ] [ -V ]\n" "[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]\n" -#: sadc.c:250 +#: sadc.c:258 #, c-format msgid "Cannot write data to system activity file: %s\n" msgstr "Sistem etkinlik dosyasına veri yazılamıyor: %s\n" -#: sadc.c:537 +#: sadc.c:545 #, c-format msgid "Cannot write system activity file header: %s\n" msgstr "Sistem etkinlik dosyası başlığı yazılamıyor: %s\n" -#: sadc.c:650 sadc.c:659 sadc.c:720 ioconf.c:491 rd_stats.c:68 rd_stats.c:2124 -#: sa_common.c:1109 +#: sadc.c:658 sadc.c:667 sadc.c:728 ioconf.c:489 rd_stats.c:69 +#: sa_common.c:1109 count.c:105 #, c-format msgid "Cannot open %s: %s\n" msgstr "%s: %s'te açılamadı\n" -#: sadc.c:842 +#: sadc.c:850 #, c-format msgid "Cannot append data to that file (%s)\n" msgstr "Veri bu dosyaya (%s) eklenemiyor\n" @@ -121,7 +131,7 @@ msgid "sysstat version %s\n" msgstr "sysstat sürümü %s\n" -#: cifsiostat.c:74 nfsiostat.c:73 +#: cifsiostat.c:75 nfsiostat.c:74 #, c-format msgid "" "Options are:\n" @@ -130,7 +140,7 @@ "Seçenekler:\n" "[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n" -#: cifsiostat.c:77 nfsiostat.c:76 +#: cifsiostat.c:78 nfsiostat.c:77 #, c-format msgid "" "Options are:\n" @@ -139,21 +149,7 @@ "Seçenekler:\n" "[ -h ] [ -k | -m ] [ -t ] [ -V ]\n" -#: sadf.c:86 -#, c-format -msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" -msgstr "Kullanım: %s [ seçenekler ] [ [ ] ] [ ]\n" - -#: sadf.c:89 -#, c-format -msgid "" -"Options are:\n" -"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n" -"[ -P { [,...] | ALL } ] [ -s [ ] ] [ -e [ ] ]\n" -"[ -- ]\n" -msgstr "" - -#: mpstat.c:92 +#: mpstat.c:93 #, c-format msgid "" "Options are:\n" @@ -164,77 +160,38 @@ "[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n" "[ -P { [,...] | ON | ALL } ]\n" -#: mpstat.c:608 pidstat.c:1856 sar.c:401 +#: mpstat.c:598 sar.c:402 pidstat.c:1857 msgid "Average:" msgstr "Ortalama:" -#: mpstat.c:984 +#: mpstat.c:963 #, c-format msgid "Not that many processors!\n" msgstr "Yeterli sayıda işlemci yok!\n" -#: rd_stats.c:2170 -#, c-format -msgid "Cannot handle so many processors!\n" -msgstr "Bu kadar çok işlemciyi idare edemiyor!\n" - -#: pr_stats.c:2348 pr_stats.c:2361 -msgid "Summary" -msgstr "Özet" - -#: pr_stats.c:2399 -msgid "Other devices not listed here" -msgstr "Diğer aygıtlar burada listelenmemiş" - -#: sa_common.c:917 -#, c-format -msgid "Error while reading system activity file: %s\n" -msgstr "Sistem etkinlik dosyası okunurken hata: %s\n" - -#: sa_common.c:927 -#, c-format -msgid "End of system activity file unexpected\n" -msgstr "" - -#: sa_common.c:946 -#, c-format -msgid "File created by sar/sadc from sysstat version %d.%d.%d" -msgstr "" - -#: sa_common.c:977 -#, c-format -msgid "Invalid system activity file: %s\n" -msgstr "Geçersiz sistem etkinlik dosyası: %s\n" - -#: sa_common.c:984 -#, c-format -msgid "Current sysstat version can no longer read the format of this file (%#x)\n" -msgstr "Güncel sysstat sürümü bu dosya biçemini artık okuyamamaktadır (%#x)\n" - -#: sa_common.c:1216 +#: sadf.c:86 #, c-format -msgid "Requested activities not available in file %s\n" -msgstr "Talep edilen etkinlikler dosyada bulunmamaktadır %s\n" +msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" +msgstr "Kullanım: %s [ seçenekler ] [ [ ] ] [ ]\n" -#: pidstat.c:85 +#: sadf.c:89 #, c-format msgid "" "Options are:\n" -"[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ username ] ] [ -u ]\n" -"[ -V ] [ -w ] [ -C ] [ -p { [,...] | SELF | ALL } ]\n" -"[ -T { TASK | CHILD | ALL } ]\n" +"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n" +"[ -P { [,...] | ALL } ] [ -s [ ] ] [ -e [ ] ]\n" +"[ -- ]\n" msgstr "" - -#: pidstat.c:215 sar.c:1033 -#, c-format -msgid "Requested activities not available\n" -msgstr "Talep edilen eylemler geçerli değil\n" +"Seçenekler:\n" +"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n" +"[ -P { [,...] | ALL } ] [ -s [ ] ] [ -e [ ] ]\n" +"[ -- ]\n" #: sar.c:109 #, c-format msgid "" "Options are:\n" -"[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]\n" +"[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]\n" "[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]\n" "[ -I { [,...] | SUM | ALL | XALL } ] [ -P { [,...] | ALL } ]\n" "[ -m { [,...] | ALL } ] [ -n { [,...] | ALL } ]\n" @@ -242,6 +199,14 @@ "[ -f [ ] | -o [ ] | -[0-9]+ ]\n" "[ -i ] [ -s [ ] ] [ -e [ ] ]\n" msgstr "" +"Seçenekler:\n" +"[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]\n" +"[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]\n" +"[ -I { [,...] | SUM | ALL | XALL } ] [ -P { [,...] | ALL } ]\n" +"[ -m { [,...] | ALL } ] [ -n { [,...] | ALL } ]\n" +"[ -j { ID | ETİKET | YOL | UUID | ... } ]\n" +"[ -f [ ] | -o [ ] | -[0-9]+ ]\n" +"[ -i ] [ -s [ ] ] [ -e [ ] ]\n" #: sar.c:131 #, c-format @@ -260,22 +225,29 @@ #: sar.c:134 #, c-format -msgid "\t-d\tBlock device statistics\n" -msgstr "\t-d\tBlok aygıt istatistikleri\n" +msgid "\t-d\tBlock devices statistics\n" +msgstr "\t-d\tBlock devices statistics\n" #: sar.c:135 #, c-format +msgid "\t-F\tFilesystems statistics\n" +msgstr "\t-F\tDosya sistem istatistikleri\n" + +#: sar.c:136 +#, c-format msgid "\t-H\tHugepages utilization statistics\n" msgstr "\t-H\tBüyük sayfa kullanım istatistikleri\n" -#: sar.c:136 +#: sar.c:137 #, c-format msgid "" "\t-I { | SUM | ALL | XALL }\n" "\t\tInterrupts statistics\n" msgstr "" +"\t-I { | SUM | ALL | XALL }\n" +"\t\tKesme istatistikleri\n" -#: sar.c:138 +#: sar.c:139 #, c-format msgid "" "\t-m { [,...] | ALL }\n" @@ -288,8 +260,17 @@ "\t\tTEMP\tDevices temperature\n" "\t\tUSB\tUSB devices plugged into the system\n" msgstr "" +"\t-m { [,...] | ALL }\n" +"\t\tGüç yönetim istatistikleri\n" +"\t\tAnahtar sözcükler:\n" +"\t\tCPU\tCPU anlık saat frekansı\n" +"\t\tFAN\tÜfleç hızı\n" +"\t\tFREQ\tCPU ortalama saat frekansı\n" +"\t\tIN\tGerilim girişi\n" +"\t\tTEMP\tAygıt sıcaklıkları\n" +"\t\tUSB\tSisteme takılı USB aygıtları\n" -#: sar.c:147 +#: sar.c:148 #, c-format msgid "" "\t-n { [,...] | ALL }\n" @@ -336,27 +317,27 @@ "\t\tEICMP6\tICMP trafiği\t(v6) (hatalar)\n" "\t\tUDP6\tUDP trafiği\t(v6)\n" -#: sar.c:168 +#: sar.c:169 #, c-format msgid "\t-q\tQueue length and load average statistics\n" msgstr "\t-q\tKuyruk uzunluğu ve ortalama yük istatistikleri\n" -#: sar.c:169 +#: sar.c:170 #, c-format msgid "\t-r\tMemory utilization statistics\n" msgstr "\t-r\tBellek kullanım istatistikleri\n" -#: sar.c:170 +#: sar.c:171 #, c-format msgid "\t-R\tMemory statistics\n" msgstr "\t-R\tBellek istatistikleri\n" -#: sar.c:171 +#: sar.c:172 #, c-format msgid "\t-S\tSwap space utilization statistics\n" msgstr "\t-S\tTakas alanı kullanım istatistikleri\n" -#: sar.c:172 +#: sar.c:173 #, c-format msgid "" "\t-u [ ALL ]\n" @@ -365,57 +346,118 @@ "\t-u [ ALL ]\n" "\t\tİşlemci kullanım istatistikleri\n" -#: sar.c:174 +#: sar.c:175 #, c-format -msgid "\t-v\tKernel table statistics\n" -msgstr "\t-v\t Çekirdek tablosu istatistikleri\n" +msgid "\t-v\tKernel tables statistics\n" +msgstr "\t-v\tÇekirdek tablosu istatistikleri\n" -#: sar.c:175 +#: sar.c:176 #, c-format msgid "\t-w\tTask creation and system switching statistics\n" msgstr "\t-w\tGörev oluşturma ve sistem anahtarlama istatistikleri\n" -#: sar.c:176 +#: sar.c:177 #, c-format msgid "\t-W\tSwapping statistics\n" msgstr "\t-W\tTakas kullanım istatistikleri\n" -#: sar.c:177 +#: sar.c:178 #, c-format -msgid "\t-y\tTTY device statistics\n" +msgid "\t-y\tTTY devices statistics\n" msgstr "\t-y\tTTY aygıt istatistikleri\n" -#: sar.c:235 +#: sar.c:236 #, c-format msgid "End of data collecting unexpected\n" msgstr "Beklenmeyen veri toplama işlemi sonu\n" -#: sar.c:822 +#: sar.c:823 #, c-format msgid "Invalid data format\n" msgstr "Geçersiz veri biçimi\n" -#: sar.c:826 +#: sar.c:827 #, c-format msgid "Using a wrong data collector from a different sysstat version\n" msgstr "Farklı bir sysstat sürümünden hatalı veri toplayıcı kullanılıyor\n" -#: sar.c:850 +#: sar.c:851 #, c-format msgid "Inconsistent input data\n" msgstr "Tutarsız girdi verisi\n" -#: sar.c:1303 +#: sar.c:1032 pidstat.c:214 +#, c-format +msgid "Requested activities not available\n" +msgstr "Talep edilen eylemler geçerli değil\n" + +#: sar.c:1302 #, c-format msgid "-f and -o options are mutually exclusive\n" -msgstr "" +msgstr "-f ve -o seçenekleri tamamen birbirinden ayrıdır\n" -#: sar.c:1309 +#: sar.c:1308 #, c-format msgid "Not reading from a system activity file (use -f option)\n" msgstr "Bir sistem etkinliğinden okunamıyor (-f seçeneğini kullanın)\n" -#: sar.c:1441 +#: sar.c:1440 #, c-format msgid "Cannot find the data collector (%s)\n" msgstr "Veri toplayıcı bulunamıyor (%s)\n" + +#: sa_common.c:917 +#, c-format +msgid "Error while reading system activity file: %s\n" +msgstr "Sistem etkinlik dosyası okunurken hata: %s\n" + +#: sa_common.c:927 +#, c-format +msgid "End of system activity file unexpected\n" +msgstr "Beklenmedik sistem etkinlik dosyası sonu\n" + +#: sa_common.c:946 +#, c-format +msgid "File created by sar/sadc from sysstat version %d.%d.%d" +msgstr "Dosyalar, sar/sadc tarafından sysstat sürüm %d.%d.%d ile oluşturuldu" + +#: sa_common.c:977 +#, c-format +msgid "Invalid system activity file: %s\n" +msgstr "Geçersiz sistem etkinlik dosyası: %s\n" + +#: sa_common.c:984 +#, c-format +msgid "Current sysstat version can no longer read the format of this file (%#x)\n" +msgstr "Güncel sysstat sürümü bu dosya biçemini artık okuyamamaktadır (%#x)\n" + +#: sa_common.c:1216 +#, c-format +msgid "Requested activities not available in file %s\n" +msgstr "Talep edilen etkinlikler dosyada bulunmamaktadır %s\n" + +#: pidstat.c:86 +#, c-format +msgid "" +"Options are:\n" +"[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ ] ] [ -u ]\n" +"[ -V ] [ -w ] [ -C ] [ -p { [,...] | SELF | ALL } ]\n" +"[ -T { TASK | CHILD | ALL } ]\n" +msgstr "" +"Seçenekler:\n" +"[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ ] ] [ -u ]\n" +"[ -V ] [ -w ] [ -C ] [ -p { [,...] | SELF | ALL } ]\n" +"[ -T { TASK | CHILD | ALL } ]\n" + +#: count.c:151 +#, c-format +msgid "Cannot handle so many processors!\n" +msgstr "Bu kadar çok işlemciyi idare edemiyor!\n" + +#: pr_stats.c:2355 pr_stats.c:2368 pr_stats.c:2468 pr_stats.c:2480 +msgid "Summary" +msgstr "Özet" + +#: pr_stats.c:2406 +msgid "Other devices not listed here" +msgstr "Diğer aygıtlar burada listelenmemiş" diff -Nru sysstat-10.1.7/pidstat.c sysstat-10.2.0/pidstat.c --- sysstat-10.1.7/pidstat.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/pidstat.c 2013-10-27 14:37:56.000000000 +0000 @@ -85,7 +85,7 @@ fprintf(stderr, _("Options are:\n" "[ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -s ] [ -t ] [ -U [ ] ] [ -u ]\n" - "[ -V ] [ -w ] [ -C ] [ -p { [,...] | SELF | ALL } ]\n" + "[ -V ] [ -v ] [ -w ] [ -C ] [ -p { [,...] | SELF | ALL } ]\n" "[ -T { TASK | CHILD | ALL } ]\n")); exit(1); } @@ -202,7 +202,7 @@ /* Check that requested activities are available */ if (DISPLAY_TASK_STATS(tskflag)) { - act |= P_A_CPU + P_A_MEM + P_A_IO + P_A_CTXSW + P_A_STACK; + act |= P_A_CPU + P_A_MEM + P_A_IO + P_A_CTXSW + P_A_STACK + P_A_KTAB; } if (DISPLAY_CHILD_STATS(tskflag)) { act |= P_A_CPU + P_A_MEM; @@ -390,6 +390,9 @@ if (!strncmp(line, "Uid:", 4)) { sscanf(line + 5, "%d", &pst->uid); } + else if (!strncmp(line, "Threads:", 8)) { + sscanf(line + 9, "%d", &pst->threads); + } else if (!strncmp(line, "voluntary_ctxt_switches:", 24)) { sscanf(line + 25, "%lu", &pst->nvcsw); } @@ -586,6 +589,62 @@ /* *************************************************************************** + * Count number of file descriptors in /proc/#[/task/##]/fd directory. + * + * IN: + * @pid Process whose stats are to be read. + * @pst Pointer on structure where stats will be saved. + * @tgid If !=0, thread whose stats are to be read. + * + * OUT: + * @pst Pointer on structure where stats have been saved. + * + * RETURNS: + * 0 if stats have been successfully read. + * Also returns 0 if current process has terminated or if we cannot read its + * fd directory, but in this case, set process' F_NO_PID_FD flag to + * indicate that fd directory couldn't be read. + *************************************************************************** + */ +int read_proc_pid_fd(unsigned int pid, struct pid_stats *pst, + unsigned int tgid) +{ + DIR *dir; + struct dirent *drp; + char filename[128]; + + if (tgid) { + sprintf(filename, TASK_FD, tgid, pid); + } + else { + sprintf(filename, PID_FD, pid); + } + + if ((dir = opendir(filename)) == NULL) { + /* Cannot read fd directory */ + pst->flags |= F_NO_PID_FD; + return 0; + } + + pst->fd_nr = 0; + + /* Count number of entries if fd directory */ + while ((drp = readdir(dir)) != NULL) { + if (isdigit(drp->d_name[0])) { + (pst->fd_nr)++; + } + } + + closedir(dir); + + pst->pid = pid; + pst->tgid = tgid; + pst->flags &= ~F_NO_PID_FD; + return 0; +} + +/* + *************************************************************************** * Read various stats for given PID. * * IN: @@ -619,6 +678,11 @@ if (read_proc_pid_smap(pid, pst, tgid)) return 1; } + + if (DISPLAY_KTAB(actflag)) { + if (read_proc_pid_fd(pid, pst, tgid)) + return 1; + } if (DISPLAY_IO(actflag)) /* Assume that /proc/#/task/#/io exists! */ @@ -731,7 +795,7 @@ init_stats(); /* Count nb of proc */ - cpu_nr = get_cpu_nr(~0); + cpu_nr = get_cpu_nr(~0, FALSE); if (DISPLAY_ALL_PID(pidflag)) { /* Count PIDs and allocate structures */ @@ -1006,6 +1070,14 @@ } } + + if (DISPLAY_STACK(activity) && (!isActive)) { + if (((*pstc)->stack_size != (*pstp)->stack_size) || + ((*pstc)->stack_ref != (*pstp)->stack_ref)) { + isActive = TRUE; + } + } + if (DISPLAY_IO(activity) && (!isActive) && /* /proc/#/io file should exist to check I/O stats */ !(NO_PID_IO((*pstc)->flags))) { @@ -1016,7 +1088,7 @@ isActive = TRUE; } } - + if (DISPLAY_CTXSW(activity) && (!isActive)) { if (((*pstc)->nvcsw != (*pstp)->nvcsw) || ((*pstc)->nivcsw != (*pstp)->nivcsw)) { @@ -1024,6 +1096,15 @@ } } + if (DISPLAY_KTAB(activity) && (!isActive) && + /* /proc/#/fd directory should be readable */ + !(NO_PID_FD((*pstc)->flags))) { + if (((*pstc)->threads != (*pstp)->threads) || + ((*pstc)->fd_nr != (*pstp)->fd_nr)) { + isActive = TRUE; + } + } + /* If PID isn't active for any of the activities then return */ if (!isActive) return -1; @@ -1032,10 +1113,18 @@ else if (DISPLAY_PID(pidflag)) { *pstp = st_pid_list[prev] + p; - - if (!(*pstp)->pid) - /* PID no longer exists */ - return 0; + if (!(*pstp)->pid) { + if (interval) + /* PID no longer exists */ + return 0; + else { + /* + * If interval is null, then we are trying to + * display stats for a given process since boot time. + */ + *pstp = &st_pid_null; + } + } } if (COMMAND_STRING(pidflag)) { @@ -1159,6 +1248,9 @@ if (DISPLAY_CTXSW(actflag)) { printf(" cswch/s nvcswch/s"); } + if (DISPLAY_KTAB(actflag)) { + printf(" threads fd-nr"); + } printf(" Command\n"); } @@ -1189,7 +1281,6 @@ printf(" %3d", pstc->processor); } - if (DISPLAY_MEM(actflag)) { printf(" %9.2f %9.2f %7lu %6lu %6.2f", S_VALUE(pstp->minflt, pstc->minflt, itv), @@ -1200,7 +1291,7 @@ } if (DISPLAY_STACK(actflag)) { - printf(" %6lu %6lu", + printf(" %7lu %7lu", pstc->stack_size, pstc->stack_ref); } @@ -1228,6 +1319,17 @@ S_VALUE(pstp->nvcsw, pstc->nvcsw, itv), S_VALUE(pstp->nivcsw, pstc->nivcsw, itv)); } + + if (DISPLAY_KTAB(actflag)) { + printf(" %7u", pstc->threads); + if (NO_PID_FD(pstc->flags)) { + /* /proc/#/fd directory not readable */ + printf(" %7d", -1); + } + else { + printf(" %7u", pstc->fd_nr); + } + } print_comm(pstc); again = 1; @@ -1463,7 +1565,7 @@ /* *************************************************************************** - * Display memory and/or stack size statistics for tasks. + * Display memory statistics for tasks. * * IN: * @prev Index in array where stats used as reference are. @@ -1493,13 +1595,7 @@ if (dis) { PRINT_ID_HDR(prev_string, pidflag); - if (DISPLAY_MEM(actflag)) { - printf(" minflt/s majflt/s VSZ RSS %%MEM"); - } - if (DISPLAY_STACK(actflag)) { - printf(" StkSize StkRef"); - } - printf(" Command\n"); + printf(" minflt/s majflt/s VSZ RSS %%MEM Command\n"); } for (p = 0; p < pid_nr; p++) { @@ -1511,14 +1607,8 @@ /* This will be used to compute average */ if (!disp_avg) { - if (DISPLAY_MEM(actflag)) { - pstc->total_vsz = pstp->total_vsz + pstc->vsz; - pstc->total_rss = pstp->total_rss + pstc->rss; - } - if (DISPLAY_STACK(actflag)) { - pstc->total_stack_size = pstp->total_stack_size + pstc->stack_size; - pstc->total_stack_ref = pstp->total_stack_ref + pstc->stack_ref; - } + pstc->total_vsz = pstp->total_vsz + pstc->vsz; + pstc->total_rss = pstp->total_rss + pstc->rss; pstc->rt_asum_count = pstp->rt_asum_count + 1; } @@ -1528,40 +1618,25 @@ print_line_id(curr_string, pstc); - if (DISPLAY_MEM(actflag)) { - printf(" %9.2f %9.2f ", - S_VALUE(pstp->minflt, pstc->minflt, itv), - S_VALUE(pstp->majflt, pstc->majflt, itv)); + printf(" %9.2f %9.2f ", + S_VALUE(pstp->minflt, pstc->minflt, itv), + S_VALUE(pstp->majflt, pstc->majflt, itv)); - if (disp_avg) { - printf("%7.0f %6.0f %6.2f", - (double) pstc->total_vsz / pstc->rt_asum_count, - (double) pstc->total_rss / pstc->rt_asum_count, - tlmkb ? - SP_VALUE(0, pstc->total_rss / pstc->rt_asum_count, tlmkb) - : 0.0); - } - else { - printf("%7lu %6lu %6.2f", - pstc->vsz, - pstc->rss, - tlmkb ? SP_VALUE(0, pstc->rss, tlmkb) : 0.0); - } + if (disp_avg) { + printf("%7.0f %6.0f %6.2f", + (double) pstc->total_vsz / pstc->rt_asum_count, + (double) pstc->total_rss / pstc->rt_asum_count, + tlmkb ? + SP_VALUE(0, pstc->total_rss / pstc->rt_asum_count, tlmkb) + : 0.0); } - - if (DISPLAY_STACK(actflag)) { - if (disp_avg) { - printf("%7.0f %7.0f", - (double) pstc->total_stack_size / pstc->rt_asum_count, - (double) pstc->total_stack_ref / pstc->rt_asum_count); - } - else { - printf("%7lu %7lu", - pstc->stack_size, - pstc->stack_ref); - } + else { + printf("%7lu %6lu %6.2f", + pstc->vsz, + pstc->rss, + tlmkb ? SP_VALUE(0, pstc->rss, tlmkb) : 0.0); } - + print_comm(pstc); again = 1; } @@ -1640,6 +1715,79 @@ /* *************************************************************************** + * Display stack size statistics for tasks. + * + * IN: + * @prev Index in array where stats used as reference are. + * @curr Index in array for current sample statistics. + * @dis TRUE if a header line must be printed. + * @disp_avg TRUE if average stats are displayed. + * @prev_string String displayed at the beginning of a header line. This is + * the timestamp of the previous sample, or "Average" when + * displaying average stats. + * @curr_string String displayed at the beginning of current sample stats. + * This is the timestamp of the current sample, or "Average" + * when displaying average stats. + * @itv Interval of time in jiffies. + * + * RETURNS: + * 0 if all the processes to display have terminated. + * <> 0 if there are still some processes left to display. + *************************************************************************** + */ +int write_pid_stack_stats(int prev, int curr, int dis, int disp_avg, + char *prev_string, char *curr_string, + unsigned long long itv) +{ + struct pid_stats *pstc, *pstp; + unsigned int p; + int rc, again = 0; + + if (dis) { + PRINT_ID_HDR(prev_string, pidflag); + printf(" StkSize StkRef Command\n"); + } + + for (p = 0; p < pid_nr; p++) { + + if ((rc = get_pid_to_display(prev, curr, p, P_A_STACK, P_NULL, + &pstc, &pstp)) == 0) + /* PID no longer exists */ + continue; + + /* This will be used to compute average */ + if (!disp_avg) { + pstc->total_stack_size = pstp->total_stack_size + pstc->stack_size; + pstc->total_stack_ref = pstp->total_stack_ref + pstc->stack_ref; + pstc->sk_asum_count = pstp->sk_asum_count + 1; + } + + if (rc < 0) + /* PID should not be displayed */ + continue; + + print_line_id(curr_string, pstc); + + if (disp_avg) { + printf(" %7.0f %7.0f", + (double) pstc->total_stack_size / pstc->sk_asum_count, + (double) pstc->total_stack_ref / pstc->sk_asum_count); + } + else { + printf(" %7lu %7lu", + pstc->stack_size, + pstc->stack_ref); + } + + print_comm(pstc); + again = 1; + } + + return again; +} + +/* + *************************************************************************** * Display I/O statistics. * * IN: @@ -1679,11 +1827,17 @@ continue; print_line_id(curr_string, pstc); - printf(" %9.2f %9.2f %9.2f", - S_VALUE(pstp->read_bytes, pstc->read_bytes, itv) / 1024, - S_VALUE(pstp->write_bytes, pstc->write_bytes, itv) / 1024, - S_VALUE(pstp->cancelled_write_bytes, - pstc->cancelled_write_bytes, itv) / 1024); + if (!NO_PID_IO(pstc->flags)) { + printf(" %9.2f %9.2f %9.2f", + S_VALUE(pstp->read_bytes, pstc->read_bytes, itv) / 1024, + S_VALUE(pstp->write_bytes, pstc->write_bytes, itv) / 1024, + S_VALUE(pstp->cancelled_write_bytes, + pstc->cancelled_write_bytes, itv) / 1024); + } + else { + /* I/O file not readable (permission denied or file non existent) */ + printf(" %9.2f %9.2f %9.2f", -1.0, -1.0, -1.0); + } print_comm(pstc); again = 1; } @@ -1744,6 +1898,85 @@ /* *************************************************************************** + * Display some kernel tables values for tasks. + * + * IN: + * @prev Index in array where stats used as reference are. + * @curr Index in array for current sample statistics. + * @dis TRUE if a header line must be printed. + * @disp_avg TRUE if average stats are displayed. + * @prev_string String displayed at the beginning of a header line. This is + * the timestamp of the previous sample, or "Average" when + * displaying average stats. + * @curr_string String displayed at the beginning of current sample stats. + * This is the timestamp of the current sample, or "Average" + * when displaying average stats. + * @itv Interval of time in jiffies. + * + * RETURNS: + * 0 if all the processes to display have terminated. + * <> 0 if there are still some processes left to display. + *************************************************************************** + */ +int write_pid_ktab_stats(int prev, int curr, int dis, int disp_avg, + char *prev_string, char *curr_string, + unsigned long long itv) +{ + struct pid_stats *pstc, *pstp; + unsigned int p; + int rc, again = 0; + + if (dis) { + PRINT_ID_HDR(prev_string, pidflag); + printf(" threads fd-nr"); + printf(" Command\n"); + } + + for (p = 0; p < pid_nr; p++) { + + if ((rc = get_pid_to_display(prev, curr, p, P_A_KTAB, P_NULL, + &pstc, &pstp)) == 0) + /* PID no longer exists */ + continue; + + /* This will be used to compute average */ + if (!disp_avg) { + pstc->total_threads = pstp->total_threads + pstc->threads; + pstc->total_fd_nr = pstp->total_fd_nr + pstc->fd_nr; + pstc->tf_asum_count = pstp->tf_asum_count + 1; + } + + if (rc < 0) + /* PID should not be displayed */ + continue; + + print_line_id(curr_string, pstc); + + if (disp_avg) { + printf(" %7.0f %7.0f", + (double) pstc->total_threads / pstc->tf_asum_count, + NO_PID_FD(pstc->flags) ? + -1.0 : (double) pstc->total_fd_nr / pstc->tf_asum_count); + } + else { + printf(" %7u", pstc->threads); + if (NO_PID_FD(pstc->flags)) { + printf(" %7d", -1); + } + else { + printf(" %7u", pstc->fd_nr); + } + } + + print_comm(pstc); + again = 1; + } + + return again; +} + +/* + *************************************************************************** * Display statistics. * * IN: @@ -1808,8 +2041,8 @@ } } - /* Display memory and/or stack stats */ - if (DISPLAY_MEM(actflag) || DISPLAY_STACK(actflag)) { + /* Display memory stats */ + if (DISPLAY_MEM(actflag)) { if (DISPLAY_TASK_STATS(tskflag)) { again += write_pid_task_memory_stats(prev, curr, dis, disp_avg, @@ -1821,6 +2054,12 @@ } } + /* Display stack stats */ + if (DISPLAY_STACK(actflag)) { + again += write_pid_stack_stats(prev, curr, dis, disp_avg, + prev_string, curr_string, itv); + } + /* Display I/O stats */ if (DISPLAY_IO(actflag)) { again += write_pid_io_stats(prev, curr, dis, prev_string, @@ -1832,6 +2071,12 @@ again += write_pid_ctxswitch_stats(prev, curr, dis, prev_string, curr_string, itv); } + + /* Display kernel table stats */ + if (DISPLAY_KTAB(actflag)) { + again += write_pid_ktab_stats(prev, curr, dis, disp_avg, + prev_string, curr_string, itv); + } } if (DISPLAY_ALL_PID(pidflag)) { @@ -1948,6 +2193,10 @@ /* Wait for SIGALRM (or possibly SIGINT) signal */ pause(); + if (sigint_caught) + /* SIGINT signal caught during first interval: Exit immediately */ + return; + do { /* Get time */ get_localtime(&ps_tstamp[curr], 0); @@ -2185,6 +2434,12 @@ print_version(); break; + case 'v': + /* Display some kernel tables values */ + actflag |= P_A_KTAB; + dis_hdr++; + break; + case 'w': /* Display context switches */ actflag |= P_A_CTXSW; diff -Nru sysstat-10.1.7/pidstat.h sysstat-10.2.0/pidstat.h --- sysstat-10.1.7/pidstat.h 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/pidstat.h 2013-09-28 13:29:58.000000000 +0000 @@ -25,12 +25,14 @@ #define P_A_IO 0x04 #define P_A_CTXSW 0x08 #define P_A_STACK 0x10 +#define P_A_KTAB 0x20 #define DISPLAY_CPU(m) (((m) & P_A_CPU) == P_A_CPU) #define DISPLAY_MEM(m) (((m) & P_A_MEM) == P_A_MEM) #define DISPLAY_IO(m) (((m) & P_A_IO) == P_A_IO) #define DISPLAY_CTXSW(m) (((m) & P_A_CTXSW) == P_A_CTXSW) #define DISPLAY_STACK(m) (((m) & P_A_STACK) == P_A_STACK) +#define DISPLAY_KTAB(m) (((m) & P_A_KTAB) == P_A_KTAB) /* TASK/CHILD */ #define P_NULL 0x00 @@ -62,9 +64,13 @@ #define DISPLAY_USERNAME(m) (((m) & P_D_USERNAME) == P_D_USERNAME) #define USER_STRING(m) (((m) & P_F_USERSTR) == P_F_USERSTR) +/* Per-process flags */ #define F_NO_PID_IO 0x01 +#define F_NO_PID_FD 0x02 #define NO_PID_IO(m) (((m) & F_NO_PID_IO) == F_NO_PID_IO) +#define NO_PID_FD(m) (((m) & F_NO_PID_FD) == F_NO_PID_FD) + #define PROC "/proc" @@ -73,6 +79,7 @@ #define PID_IO "/proc/%u/io" #define PID_CMDLINE "/proc/%u/cmdline" #define PID_SMAP "/proc/%u/smaps" +#define PID_FD "/proc/%u/fd" #define PROC_TASK "/proc/%u/task" #define TASK_STAT "/proc/%u/task/%u/stat" @@ -80,6 +87,7 @@ #define TASK_IO "/proc/%u/task/%u/io" #define TASK_CMDLINE "/proc/%u/task/%u/cmdline" #define TASK_SMAP "/proc/%u/task/%u/smaps" +#define TASK_FD "/proc/%u/task/%u/fd" #define PRINT_ID_HDR(_timestamp_, _flag_) do { \ printf("\n%-11s", _timestamp_); \ @@ -105,6 +113,8 @@ unsigned long long total_rss __attribute__ ((packed)); unsigned long long total_stack_size __attribute__ ((packed)); unsigned long long total_stack_ref __attribute__ ((packed)); + unsigned long long total_threads __attribute__ ((packed)); + unsigned long long total_fd_nr __attribute__ ((packed)); unsigned long minflt __attribute__ ((packed)); unsigned long cminflt __attribute__ ((packed)); unsigned long majflt __attribute__ ((packed)); @@ -128,9 +138,13 @@ unsigned int rt_asum_count __attribute__ ((packed)); unsigned int rc_asum_count __attribute__ ((packed)); unsigned int uc_asum_count __attribute__ ((packed)); + unsigned int tf_asum_count __attribute__ ((packed)); + unsigned int sk_asum_count __attribute__ ((packed)); unsigned int processor __attribute__ ((packed)); unsigned int flags __attribute__ ((packed)); unsigned int uid __attribute__ ((packed)); + unsigned int threads __attribute__ ((packed)); + unsigned int fd_nr __attribute__ ((packed)); char comm[MAX_COMM_LEN]; char cmdline[MAX_CMDLINE_LEN]; }; diff -Nru sysstat-10.1.7/prealloc.in sysstat-10.2.0/prealloc.in --- sysstat-10.1.7/prealloc.in 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-10.2.0/prealloc.in 2013-09-28 13:29:58.000000000 +0000 @@ -0,0 +1,17 @@ +/* + * sysstat: System performance tools for Linux + * (C) 1999-2013 by Sebastien Godard (sysstat orange.fr) + */ + +#ifndef _PREALLOC_H +#define _PREALLOC_H + +/* Preallocation constants for sar */ +#define NR_IFACE_PREALLOC (2 * @PREALLOC_FACTOR@) +#define NR_SERIAL_PREALLOC (2 * @PREALLOC_FACTOR@) +#define NR_DISK_PREALLOC (3 * @PREALLOC_FACTOR@) +#define NR_FREQ_PREALLOC (0 * @PREALLOC_FACTOR@) +#define NR_USB_PREALLOC (5 * @PREALLOC_FACTOR@) +#define NR_FILESYSTEM_PREALLOC (3 * @PREALLOC_FACTOR@) + +#endif /* _PREALLOC_H */ diff -Nru sysstat-10.1.7/sa.h sysstat-10.2.0/sa.h --- sysstat-10.1.7/sa.h 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/sa.h 2013-09-28 13:29:58.000000000 +0000 @@ -9,6 +9,7 @@ #include #include "common.h" +#include "prealloc.h" #include "rd_stats.h" #include "rd_sensors.h" @@ -192,14 +193,6 @@ */ #define BITMAP_SIZE(m) ((((m) + 1) / 8) + 1) -/* Pre-allocation constants */ -#define NR_IFACE_PREALLOC 2 -#define NR_SERIAL_PREALLOC 2 -#define NR_DISK_PREALLOC 3 -#define NR_FREQ_PREALLOC 0 -#define NR_USB_PREALLOC 5 -#define NR_FILESYSTEM_PREALLOC 3 - #define UTSNAME_LEN 65 #define TIMESTAMP_LEN 16 #define HEADER_LINE_LEN 512 diff -Nru sysstat-10.1.7/sa_wrap.c sysstat-10.2.0/sa_wrap.c --- sysstat-10.1.7/sa_wrap.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/sa_wrap.c 2013-10-27 14:37:56.000000000 +0000 @@ -962,7 +962,7 @@ */ __nr_t wrap_get_cpu_nr(struct activity *a) { - return (get_cpu_nr(a->bitmap->b_size) + 1); + return (get_cpu_nr(a->bitmap->b_size, FALSE) + 1); } /* diff -Nru sysstat-10.1.7/sar.c sysstat-10.2.0/sar.c --- sysstat-10.1.7/sar.c 2013-09-13 07:01:47.000000000 +0000 +++ sysstat-10.2.0/sar.c 2013-09-28 13:30:15.000000000 +0000 @@ -129,8 +129,8 @@ { print_usage_title(stdout, progname); printf(_("Main options and reports:\n")); - printf(_("\t-b\tI/O and transfer rate statistics\n")); printf(_("\t-B\tPaging statistics\n")); + printf(_("\t-b\tI/O and transfer rate statistics\n")); printf(_("\t-d\tBlock devices statistics\n")); printf(_("\t-F\tFilesystems statistics\n")); printf(_("\t-H\tHugepages utilization statistics\n")); @@ -167,14 +167,14 @@ "\t\tEICMP6\tICMP traffic\t(v6) (errors)\n" "\t\tUDP6\tUDP traffic\t(v6)\n")); printf(_("\t-q\tQueue length and load average statistics\n")); - printf(_("\t-r\tMemory utilization statistics\n")); printf(_("\t-R\tMemory statistics\n")); + printf(_("\t-r\tMemory utilization statistics\n")); printf(_("\t-S\tSwap space utilization statistics\n")); printf(_("\t-u [ ALL ]\n" "\t\tCPU utilization statistics\n")); printf(_("\t-v\tKernel tables statistics\n")); - printf(_("\t-w\tTask creation and system switching statistics\n")); printf(_("\t-W\tSwapping statistics\n")); + printf(_("\t-w\tTask creation and system switching statistics\n")); printf(_("\t-y\tTTY devices statistics\n")); exit(0); } diff -Nru sysstat-10.1.7/sysstat-10.1.7.lsm sysstat-10.2.0/sysstat-10.1.7.lsm --- sysstat-10.1.7/sysstat-10.1.7.lsm 2013-09-13 06:51:57.000000000 +0000 +++ sysstat-10.2.0/sysstat-10.1.7.lsm 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -Begin4 -Title: sysstat - the sar, sadf, mpstat, iostat, nfsiostat, cifsiostat and pidstat commands for Linux -Version: 10.1.7 -Entered-date: 2013-09-13 -Description: The sysstat package contains the sar, sadf, mpstat, iostat, - pidstat, nfsiostat, cifsiostat and sa tools for Linux. - The sar command collects and reports system activity - information. - The information collected by sar can be saved in a file - in a binary format for future inspection. - The statistics reported by sar concern I/O transfer rates, - paging activity, process-related activities, interrupts, - network activity, memory and swap space utilization, CPU - utilization, kernel activities and TTY statistics, among - others. Both UP and SMP machines are fully supported. - The iostat command reports CPU utilization - and I/O statistics for disks. The mpstat command reports - global and per-processor statistics. The sadf command - is used to display data collected by sar in various - formats (XML, database-friendly, etc.). - The pidstat command reports statistics for Linux tasks (processes). - The nfsiostat command reports I/O statistics for network filesystems. - The cifsiostat command reports I/O statistics for CIFS filesystems. - NB: Send bugs, patches, suggestions and/or questions to - (sysstat [at] orange.fr). - URL: http://pagesperso-orange.fr/sebastien.godard/ -Keywords: system administration, sar, sadf, iostat, mpstat, pidstat, nfsiostat, cifsiostat, system accounting, performance, tuning -Author: sysstat [at] orange.fr (Sebastien Godard) -Maintained-by: sysstat [at] orange.fr (Sebastien Godard) -Primary-site: http://pagesperso-orange.fr/sebastien.godard/ - 380kB sysstat-10.1.7.tar.gz - 297kB sysstat-10.1.7.tar.bz2 - 384kB sysstat-10.1.7-1.src.rpm - 254kB sysstat-10.1.7-1.x86_64.rpm -Alternate-site: -Copying-policy: GPL -End diff -Nru sysstat-10.1.7/sysstat-10.1.7.spec sysstat-10.2.0/sysstat-10.1.7.spec --- sysstat-10.1.7/sysstat-10.1.7.spec 2013-09-13 06:45:04.000000000 +0000 +++ sysstat-10.2.0/sysstat-10.1.7.spec 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -Summary: SAR, SADF, MPSTAT, IOSTAT, NFSIOSTAT, CIFSIOSTAT and PIDSTAT for Linux -Name: sysstat -Version: 10.1.7 -Release: 1 -License: GPL -Group: Applications/System -Source0: %{name}-%{version}.tar.gz -URL: http://pagesperso-orange.fr/sebastien.godard/ -Packager: Sebastien Godard -BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n) -Requires: gettext - -%description -The sysstat package contains the sar, sadf, mpstat, iostat, pidstat, -nfsiostat, cifsiostat and sa tools for Linux. -The sar command collects and reports system activity information. -The information collected by sar can be saved in a file in a binary -format for future inspection. The statistics reported by sar concern -I/O transfer rates, paging activity, process-related activities, -interrupts, network activity, memory and swap space utilization, CPU -utilization, kernel activities and TTY statistics, among others. Both -UP and SMP machines are fully supported. -The sadf command may be used to display data collected by sar in -various formats (CSV, XML, etc.). -The iostat command reports CPU utilization and I/O statistics for disks. -The mpstat command reports global and per-processor statistics. -The pidstat command reports statistics for Linux tasks (processes). -The nfsiostat command reports I/O statistics for network filesystems. -The cifsiostat command reports I/O statistics for CIFS filesystems. - -%prep -%setup - -%build -./configure --prefix=%{_prefix} \ - sa_lib_dir=%{_libdir}/sa \ - --mandir=%{_mandir} \ - DESTDIR=$RPM_BUILD_ROOT -make - -%install -rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/var/log/sa - -make install - -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d -install -m 755 sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat -install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf -mkdir -p $RPM_BUILD_ROOT/etc/cron.d -install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat -mkdir -p $RPM_BUILD_ROOT/etc/rc2.d -cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat -mkdir -p $RPM_BUILD_ROOT/etc/rc3.d -cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat -mkdir -p $RPM_BUILD_ROOT/etc/rc5.d -cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%defattr(644,root,root,755) -%doc %{_datadir}/doc/sysstat-%{version}/* -%attr(755,root,root) %{_bindir}/* -%attr(755,root,root) %{_libdir}/sa/* -%attr(644,root,root) %{_mandir}/man*/* -%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo -%attr(755,root,root) %dir /var/log/sa -%attr(755,root,root) /etc/rc.d/init.d/sysstat -%attr(644,root,root) /etc/sysconfig/sysstat -%attr(644,root,root) /etc/sysconfig/sysstat.ioconf -%attr(755,root,root) /etc/rc2.d/S01sysstat -%attr(755,root,root) /etc/rc3.d/S01sysstat -%attr(755,root,root) /etc/rc5.d/S01sysstat -%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat - diff -Nru sysstat-10.1.7/sysstat-10.2.0.lsm sysstat-10.2.0/sysstat-10.2.0.lsm --- sysstat-10.1.7/sysstat-10.2.0.lsm 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-10.2.0/sysstat-10.2.0.lsm 2013-11-02 13:58:39.000000000 +0000 @@ -0,0 +1,38 @@ +Begin4 +Title: sysstat - the sar, sadf, mpstat, iostat, nfsiostat, cifsiostat and pidstat commands for Linux +Version: 10.2.0 +Entered-date: 2013-11-03 +Description: The sysstat package contains the sar, sadf, mpstat, iostat, + pidstat, nfsiostat, cifsiostat and sa tools for Linux. + The sar command collects and reports system activity + information. + The information collected by sar can be saved in a file + in a binary format for future inspection. + The statistics reported by sar concern I/O transfer rates, + paging activity, process-related activities, interrupts, + network activity, memory and swap space utilization, CPU + utilization, kernel activities and TTY statistics, among + others. Both UP and SMP machines are fully supported. + The iostat command reports CPU utilization + and I/O statistics for disks. The mpstat command reports + global and per-processor statistics. The sadf command + is used to display data collected by sar in various + formats (XML, database-friendly, etc.). + The pidstat command reports statistics for Linux tasks (processes). + The nfsiostat command reports I/O statistics for network filesystems. + The cifsiostat command reports I/O statistics for CIFS filesystems. + NB: Send bugs, patches, suggestions and/or questions to + (sysstat [at] orange.fr). + URL: http://pagesperso-orange.fr/sebastien.godard/ +Keywords: system administration, sar, sadf, iostat, mpstat, pidstat, nfsiostat, cifsiostat, system accounting, performance, tuning +Author: sysstat [at] orange.fr (Sebastien Godard) +Maintained-by: sysstat [at] orange.fr (Sebastien Godard) +Primary-site: http://pagesperso-orange.fr/sebastien.godard/ + 382kB sysstat-10.2.0.tar.gz + 301kB sysstat-10.2.0.tar.bz2 + 273kB sysstat-10.2.0.tar.xz + 386kB sysstat-10.2.0-1.src.rpm + 256kB sysstat-10.2.0-1.x86_64.rpm +Alternate-site: +Copying-policy: GPL +End diff -Nru sysstat-10.1.7/sysstat-10.2.0.spec sysstat-10.2.0/sysstat-10.2.0.spec --- sysstat-10.1.7/sysstat-10.2.0.spec 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-10.2.0/sysstat-10.2.0.spec 2013-11-02 13:51:05.000000000 +0000 @@ -0,0 +1,79 @@ +Summary: SAR, SADF, MPSTAT, IOSTAT, NFSIOSTAT, CIFSIOSTAT and PIDSTAT for Linux +Name: sysstat +Version: 10.2.0 +Release: 1 +License: GPL +Group: Applications/System +Source0: %{name}-%{version}.tar.gz +URL: http://pagesperso-orange.fr/sebastien.godard/ +Packager: Sebastien Godard +BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n) +Requires: gettext + +%description +The sysstat package contains the sar, sadf, mpstat, iostat, pidstat, +nfsiostat, cifsiostat and sa tools for Linux. +The sar command collects and reports system activity information. +The information collected by sar can be saved in a file in a binary +format for future inspection. The statistics reported by sar concern +I/O transfer rates, paging activity, process-related activities, +interrupts, network activity, memory and swap space utilization, CPU +utilization, kernel activities and TTY statistics, among others. Both +UP and SMP machines are fully supported. +The sadf command may be used to display data collected by sar in +various formats (CSV, XML, etc.). +The iostat command reports CPU utilization and I/O statistics for disks. +The mpstat command reports global and per-processor statistics. +The pidstat command reports statistics for Linux tasks (processes). +The nfsiostat command reports I/O statistics for network filesystems. +The cifsiostat command reports I/O statistics for CIFS filesystems. + +%prep +%setup + +%build +./configure --prefix=%{_prefix} \ + sa_lib_dir=%{_libdir}/sa \ + --mandir=%{_mandir} \ + DESTDIR=$RPM_BUILD_ROOT +make + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/var/log/sa + +make install + +mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d +install -m 755 sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat +mkdir -p $RPM_BUILD_ROOT/etc/sysconfig +install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat +install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf +mkdir -p $RPM_BUILD_ROOT/etc/cron.d +install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat +mkdir -p $RPM_BUILD_ROOT/etc/rc2.d +cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat +mkdir -p $RPM_BUILD_ROOT/etc/rc3.d +cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat +mkdir -p $RPM_BUILD_ROOT/etc/rc5.d +cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(644,root,root,755) +%doc %{_datadir}/doc/sysstat-%{version}/* +%attr(755,root,root) %{_bindir}/* +%attr(755,root,root) %{_libdir}/sa/* +%attr(644,root,root) %{_mandir}/man*/* +%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo +%attr(755,root,root) %dir /var/log/sa +%attr(755,root,root) /etc/rc.d/init.d/sysstat +%attr(644,root,root) /etc/sysconfig/sysstat +%attr(644,root,root) /etc/sysconfig/sysstat.ioconf +%attr(755,root,root) /etc/rc2.d/S01sysstat +%attr(755,root,root) /etc/rc3.d/S01sysstat +%attr(755,root,root) /etc/rc5.d/S01sysstat +%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat +