Date: Wed, 20 Aug 2003 02:03:40 -0700 From: Kent Stewart <kstewart@owt.com> To: Tillman Hodgson <tillman@seekingfire.com>, freebsd-questions@freebsd.org Subject: Re: Make buildworld failure Message-ID: <200308200203.40844.kstewart@owt.com> In-Reply-To: <20030819221038.S2526@seekingfire.com> References: <001c01c36693$68057680$04fea8c0@moe> <oprt6ijlb00cf2rk@fastmail.fm> <20030819221038.S2526@seekingfire.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 19 August 2003 09:10 pm, Tillman Hodgson wrote: > On Tue, Aug 19, 2003 at 09:03:11PM -0400, Jud wrote: > > On Tue, 19 Aug 2003 15:49:38 -0500, Charles Howse > > <chowse@charter.net> > > > > wrote: > > > Very interesting. > > > On page 490 of "FreeBSD Unleashed" it references the -j4 > > > parameter as a way to speed up the make buildworld process by > > > spawning multiple simultaneous processes. > > > > > > The same thing is referenced in Chapter 20 of the FreeBSD > > > Handbook. > > > > > > Is this now depreciated? > > > > Whether deprecated or not, many posts to this mailing list have > > said -j4 doesn't speed up "make buildworld" anyway, and that's been > > my experience. I'm sure it depends on your setup. > > To use -j effectively, try putting /usr/obj and /usr/src on different > drives (ideally, on drives dedicated to the task, meaning a third > drive for the OS itself) and testing with `time make buildkernel -jX` > (where X is greater than 1). You should see a measurable decrease in > compile time even on a single CPU system simply because you can keep > both disks busier. > > On the other hand, if you have only a single CPU and a single disk > and one or the other is maxed out it's unlikely that using -j will > help (as you've seen). > > Chapter 18 of _Absolute BSD_ (Michael Lucas) has a description of > tuning buildkernel. If you compare the output of `top` with `vmstat > 5` while building without -j on a box with a reasonably fast CPU and > a single disk you'll probably see that the CPU is idle for some > percentage of the time, but the number of items under the 'b' column > in vmstat is occassionally above 0. This means that the CPU has > cycles available yet tasks are blocking on disk: classic disk IO > bottlenecking. > > 'Course, as I say all this, building with -j on sparc64 is broken in > -CURRENT at the moment so I'm not using -j for a while. Heh. It's > handy when it works :-) > I have /, /usr/src, and /usr/obj on 3 different HDs/controllers and using -j? is still 10-20% slower than not using it.. On my systems, it only speeded things up when I had more than 1 cpu. Kent -- Kent Stewart Richland, WA http://users.owt.com/kstewart/index.html
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308200203.40844.kstewart>