Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Sep 2003 14:37:37 -0500
From:      "Charles Howse" <>
To:        <>
Subject:   Comparing buildworld times on twin machines
Message-ID:  <000001c385f7$f948a5d0$04fea8c0@moe>

Next in thread | Raw E-Mail | Index | Archive | Help
This is a multi-part message in MIME format.

Content-Type: text/plain;
Content-Transfer-Encoding: quoted-printable

I have 2 machines on my home network with (almost) identical hardware.
They both have Celeron 300, same motherboards, same BIOS, same options
set in BIOS, etc.
Same make.conf, same kernel config. =20
I kill SETI@home before starting on each machine.
The only difference is that curly has 128 MB ram where larry has only

They *do not*, however have identical hard drives, even though each
machine has 2 drives, with /usr/obj on the second drive of each machine.

When I buildworld, I use the following command, and write the output to

[portion of script omitted, entire script is attached as]

\time -aho $$blog make buildworld


Larry can buildworld in 1 hr 57 mins.
It takes curly 3 hrs 16 mins, even though curly has twice the ram.

If I watch the compile, with one eye on the disk activity light, it
seems to me that the process is largely CPU intensive, therefore I would
expect that the buildworld times should be roughly equal.

1) How can I determine what might be causing curly to take so long
compared to larry?

2) Since curly runs httpd, and vsftpd, is it acceptable to run the
entire build/install process in single-user mode in order to prevent
other processes from eating CPU cycles?


Got a computer with idle CPU time?
Join SETI@home and help make history!

Content-Type: application/octet-stream;
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;

# Update the system, run in multi-user mode.=0A=
# Checks the exit status of all important commands,=0A=
# Exits on exit status of anything other than 0, =0A=
# Prints the name of the command that failed.=0A=
# Logs the last 10 lines of screen output for important commands.=0A=
blog=3D/var/log/build/build-`date "+%m-%d-%Y"`.log=0A=
bailout() {=0A=
if [ "$?" -ne 0 ] ; then=0A=
    echo "Update1 has bailed out!!"=0A=
    echo "The command that failed was..."=0A=
    echo $cmd=0A=
    exit 1=0A=
echo -n "Have you read /usr/src/UPDATING? [y/n]: "=0A=
read a=0A=
if [ "$a" =3D n ] ; then=0A=
    less /usr/src/UPDATING=0A=
    exit 2=0A=
echo -n "Have you merged /etc/group and /usr/src/etc/group? [y/n]: "=0A=
read b=0A=
if [ "$b" =3D n ] ; then=0A=
    diff -c /etc/group /usr/src/etc/group | less=0A=
    exit 3=0A=
echo -n "Have you merged /etc/master.passwd and =
/usr/src/etc/master.passwd? [y/n]: "=0A=
read c=0A=
if [ "$c" =3D n ] ; then=0A=
    diff -c /etc/master.passwd /usr/src/etc/master.passwd=0A=
    exit 4=0A=
cmd=3D"cp /disk2/larry/etc/make.conf /etc"=0A=
cp /disk2/larry/etc/make.conf /etc=0A=
cmd=3D"cp /disk2/larry/usr/src/sys/i386/conf/CUSTOM =
cp /disk2/larry/usr/src/sys/i386/conf/CUSTOM /usr/src/sys/i386/conf=0A=
cmd=3D"Clean out /usr/obj"=0A=
echo -n "Clean out /usr/obj? [y/n]: "=0A=
read d=0A=
if [ "$d" =3D y ] ; then=0A=
    cd /usr/obj=0A=
    chflags -R noschg *=0A=
    rm -rf *=0A=
echo -n "Continue with build? [y/n]: "=0A=
read e=0A=
if [ "$e" =3D n ] ; then=0A=
    exit 5=0A=
# Kill SETI@home=0A=
kill `ps -aux | grep setia | grep -v grep | awk '{print $2}'`=0A=
if [ ! -d /var/log/build ] ; then=0A=
    mkdir /var/log/build=0A=
cmd=3D"make buildworld"=0A=
cd /usr/src=0A=
echo -n "Time for buildworld:" >> $blog=0A=
\time -aho $blog make buildworld=0A=
cmd=3D"make kernel"=0A=
echo -n "Time for make kernel:" >> $blog=0A=
\time -aho $blog make kernel=0A=
echo "Reboot to single user mode and run /disk2/larry/bin/update2"

Want to link to this message? Use this URL: <$f948a5d0$04fea8c0>