Autosizing column widths in ps(1).
arundel at freebsd.org
Sun Aug 14 20:00:39 UTC 2011
On Wed Jul 27 11, Edward Tomasz Napiera?a wrote:
> Wiadomo?? napisana przez Alexander Best w dniu 25 lip 2011, o godz. 00:22:
> > On Sun Jul 24 11, Edward Tomasz Napiera?a wrote:
> >> Wiadomo?? napisana przez Test Rat w dniu 22 lip 2011, o godz. 19:21:
> >>> Edward Tomasz Napiera?a <trasz at freebsd.org> writes:
> >>>> Patch below changes ps(1) to automatically size column widths according to their
> >>>> contents. From the user point of view, it prevents breaking layout with too wide values
> >>>> and in most cases makes output narrower. From the developer point of view, it removes
> >>>> the need to specify widths. Testing is welcome - the patch shouldn't change ps(1)
> >>>> behaviour except slightly changing the widths, but the code changes are pretty large
> >>>> and it's quite possible I've missed something.
> >>> STAT column seems to be right-aligned when it was previously left-aligned.
> >>> This makes sorting it harder, e.g.
> >>> $ ps ax | (IFS=; read h; echo $h; sort -k3) | less
> >> Good catch, thanks! Updated patch, which also fixes two issues affecting TTY column,
> >> is at http://people.freebsd.org/~trasz/ps-9.diff.
> > working great here. have you experienced any performance issues, due to ps
> > having to iterate through all columns before constructing the output in
> > comparison to the previous design?
> It had to iterate through them before; what has changed is that now it stores the strings
> before printing them out. This means increased memory usage - if you have thousands
> of processes, the new ps(1) will use tens of kilobytes of memory. Hardly
> a showstopper, imho.
> > P.S.: one utility which would also benefit from auto column sizing is top, for
> > sure! ;)
> The problem with top(1) is that you don't want your column widths to change
> at every refresh. This is somewhat similar to the situation with vmstat(8).
good point. however i guess for vmstat (and company), auto column sizing could
be used when repetions haven't been requested (i.e. vmstat [-c1]).
> If you cut off my head, what would I say? Me and my head, or me and my body?
More information about the freebsd-hackers