From owner-freebsd-hackers@FreeBSD.ORG Sun Aug 14 20:00:39 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id 506681065673; Sun, 14 Aug 2011 20:00:39 +0000 (UTC) Date: Sun, 14 Aug 2011 20:00:39 +0000 From: Alexander Best To: Edward Tomasz Napiera?a Message-ID: <20110814200039.GB25655@freebsd.org> References: <0CEA161B-6767-4379-B923-585B3D4EA74E@freebsd.org> <86hb6e1bau.fsf@gmail.com> <589EB85A-1902-4643-A1FD-3C98445127DB@freebsd.org> <20110724222224.GA64487@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Cc: Test Rat , freebsd-hackers@freebsd.org Subject: Re: Autosizing column widths in ps(1). X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Aug 2011 20:00:39 -0000 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 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?