cvs commit: src/bin/ps keyword.c

Bruce Evans bde at zeta.org.au
Mon Feb 7 21:45:44 PST 2005


On Mon, 7 Feb 2005, M. Warner Losh wrote:

> In message: <20050207081054.GA57554 at cirb503493.alcatel.com.au>
>             Peter Jeremy <PeterJeremy at optushome.com.au> writes:
> : On Sun, 2005-Feb-06 19:45:16 +0100, Pawel Jakub Dawidek wrote:
> : >On Sun, Feb 06, 2005 at 04:34:49PM +0000, Christian S.J. Peron wrote:
> : >+>   Since it is not un-common for a process's resident set size (rss)
> : >+>   to exceed 10 megabytes in size (especially in X), bump the max
> : >+>   column width from 4 bytes to 5. This will make the ps auxw output
> : >+>   uniform again when a process's rss exceeds 10 megs.
> : >
> : >Maybe we can use humanize_number(3) here?
> :
> : Please ensure that if you do use humanize_number(3), there is a way of
> : getting rss and vsz values in fixed units.  Tru64 switches between MB
> : and GB is ps output (which can't be disabled).  I regularly need to
> : look at processes by size and it's very annoying to have 2.5GB and
> : 2.5MB processes mixed together.
>
> There are also people that use ps to get a feel for the size of
                 ^^^^^^
> processes and if they appear to be growing or not.  Jumping to the
> next larger size is great for humans, but lousy for programs.  It
                                ^^^^^^
> would also tend to obsure the 'noise' in the number, the very thing
> that our scripts are interested in.

I agree that jumping to the next size is only great for those humans
who are not people.  I disagree that it is lousy for programs.

humanize_number() basically gives numbers in scientific notation.  This
is great for programs and in limited domains where the range of numbers
is very large, but few humans think in it.

humanize_number() should be named something like hidefy_number(), and
df's -h flag should be described as giving hideous or human-unreadable
output.

The point about "noise" in the output is good.  If apply to affect df
so much.  It applies to programs that periodically repeat output like
iostat(1) more.

Bruce


More information about the cvs-all mailing list