Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Dec 2011 13:30:36 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        Mikolaj Golub <trociny@freebsd.org>
Cc:        svn-src-head@freebsd.org, Robert Watson <rwatson@freebsd.org>, svn-src-all@freebsd.org, src-committers@freebsd.org, Kostik Belousov <kib@freebsd.org>
Subject:   Re: svn commit: r227956 - head/usr.bin/procstat
Message-ID:  <4EE1024C.6040800@FreeBSD.org>
In-Reply-To: <86liqt1ier.fsf@kopusha.home.net>
References:  <201111242054.pAOKs6vj012296@svn.freebsd.org> <201111281330.11720.jhb@freebsd.org> <86liqt1ier.fsf@kopusha.home.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/3/11 3:58 PM, Mikolaj Golub wrote:
>
> On Mon, 28 Nov 2011 13:30:11 -0500 John Baldwin wrote:
>
>   JB>  On Thursday, November 24, 2011 3:54:06 pm Mikolaj Golub wrote:
>   >>  Author: trociny
>   >>  Date: Thu Nov 24 20:54:06 2011
>   >>  New Revision: 227956
>   >>  URL: http://svn.freebsd.org/changeset/base/227956
>   >>
>   >>  Log:
>   >>    usr.bin/procstat
>   >>
>   >>    Add -l flag to display resource limits.
>   >>
>   >>    PR:                bin/161257
>   >>    Reviewed by:        kib
>   >>    MFC after:        2 weeks
>
>   JB>  Thanks for doing this!  Did you consider making the procstat -l output use
>   JB>  "pretty" output similar to the output of /usr/bin/limits?  For example,
>   JB>  using "infinity" instead of -1 and using humanize_number() for finite limits
>   JB>  that are in units of bytes?
>
> I tried several variants, from one where for rlimit names rlimit_ident
> constants from sys/resource.h are used and units are printed as suffixes:
>
>    PID COMM             RLIMIT         SOFT       HARD
> 46150 zsh              cpu         100000S   infinity
> 46150 zsh              fsize      infinity   infinity
> 46150 zsh              data       524288kB   524288kB
> 46150 zsh              stack       65536kB    65536kB
> 46150 zsh              core      9765625kB  9765625kB
> 46150 zsh              rss        infinity   infinity
> 46150 zsh              memlock    infinity   infinity
> 46150 zsh              nproc          5547       5547
> 46150 zsh              nofile        11095      11095
> 46150 zsh              sbsize     infinity   infinity
> 46150 zsh              vmem       infinity   infinity
> 46150 zsh              npts       infinity   infinity
> 46150 zsh              swap       infinity   infinity
>
> to one where rlimit names are the same as in limits(1) and units are printed
> in separate column:
>
>    PID COMM             RLIMIT                 SOFT       HARD   UNIT
> 48885 zsh              cputime              100000   infinity   secs
> 48885 zsh              filesize           infinity   infinity   bytes
> 48885 zsh              datasize            524288k    524288k   bytes
> 48885 zsh              stacksize            65536k     65536k   bytes
> 48885 zsh              coredumpsize         95367M     95367M   bytes
> 48885 zsh              memoryuse          infinity   infinity   bytes
> 48885 zsh              memorylocked       infinity   infinity   bytes
> 48885 zsh              maxprocesses           5547       5547
> 48885 zsh              openfiles             11095      11095
> 48885 zsh              sbsize             infinity   infinity   bytes
> 48885 zsh              vmemoryuse         infinity   infinity   bytes
> 48885 zsh              pseudo-terminals   infinity   infinity
> 48885 zsh              swapuse            infinity   infinity   bytes
>
> Personally I like the first variant as the most compact and the easiest to
> maintain but would be glad to learn what other think about this or may be have
> other suggestions.
>
> A couple other variations:
>
>    PID COMM             RLIMIT         SOFT       HARD   UNIT
> 47062 zsh              cpu          100000   infinity   secs
> 47062 zsh              fsize      infinity   infinity   bytes
> 47062 zsh              data        524288k    524288k   bytes
> 47062 zsh              stack      67108864   67108864   bytes
> 47062 zsh              core       9765625k   9765625k   bytes
> 47062 zsh              rss        infinity   infinity   bytes
> 47062 zsh              memlock    infinity   infinity   bytes
> 47062 zsh              nproc          5547       5547
> 47062 zsh              nofile        11095      11095
> 47062 zsh              sbsize     infinity   infinity   bytes
> 47062 zsh              vmem       infinity   infinity   bytes
> 47062 zsh              npts       infinity   infinity
> 47062 zsh              swap       infinity   infinity   bytes
>
>    PID COMM                       RLIMIT       SOFT       HARD   UNIT
> 48798 zsh                       cputime     100000   infinity   secs
> 48798 zsh                      filesize   infinity   infinity   bytes
> 48798 zsh                      datasize    524288k    524288k   bytes
> 48798 zsh                     stacksize     65536k     65536k   bytes
> 48798 zsh                  coredumpsize     95367M     95367M   bytes
> 48798 zsh                     memoryuse   infinity   infinity   bytes
> 48798 zsh                  memorylocked   infinity   infinity   bytes
> 48798 zsh                  maxprocesses       5547       5547
> 48798 zsh                     openfiles      11095      11095
> 48798 zsh                        sbsize   infinity   infinity   bytes
> 48798 zsh                    vmemoryuse   infinity   infinity   bytes
> 48798 zsh              pseudo-terminals   infinity   infinity
> 48798 zsh                       swapuse   infinity   infinity   bytes

Hmm, I would stick as close to limits output as possible.  I would
consider duplicating the unit field in each of soft and hard, so you
end up with something like this:

   PID  COMM            RLIMIT     SOFT           HARD
48798  zsh             cputime      100000 secs  infinity secs
48798  zsh             filesize   infinity kb    infinity kb
48798  zsh             datasize     524288 kb      524288 kb

etc.

(Things like 'openfiles' is simply more intuitive than 'nofile' (no
file?, huh? oh, num open files.. (except not all users will make the
last step there).

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EE1024C.6040800>