Date: Sun, 28 Sep 2003 14:37:37 -0500 From: "Charles Howse" <chowse@charter.net> To: <freebsd-questions@freebsd.org> Subject: Comparing buildworld times on twin machines Message-ID: <000001c385f7$f948a5d0$04fea8c0@moe>
index | next in thread | raw e-mail
[-- Attachment #1 --] Hi, 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. I kill SETI@home before starting on each machine. The only difference is that curly has 128 MB ram where larry has only 64. 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 '$blog'. [portion of script omitted, entire script is attached as update1.sh] \time -aho $$blog make buildworld [snip] 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? Thanks, Charles Got a computer with idle CPU time? Join SETI@home and help make history! http://setiathome.ssl.berkeley.edu/ [-- Attachment #2 --] #!/usr/local/bin/bash # # Update the system, run in multi-user mode. # # Checks the exit status of all important commands, # Exits on exit status of anything other than 0, # Prints the name of the command that failed. # Logs the last 10 lines of screen output for important commands. blog=/var/log/build/build-`date "+%m-%d-%Y"`.log bailout() { if [ "$?" -ne 0 ] ; then echo "Update1 has bailed out!!" echo "The command that failed was..." echo $cmd exit 1 fi } echo -n "Have you read /usr/src/UPDATING? [y/n]: " read a if [ "$a" = n ] ; then less /usr/src/UPDATING exit 2 fi echo -n "Have you merged /etc/group and /usr/src/etc/group? [y/n]: " read b if [ "$b" = n ] ; then diff -c /etc/group /usr/src/etc/group | less exit 3 fi echo -n "Have you merged /etc/master.passwd and /usr/src/etc/master.passwd? [y/n]: " read c if [ "$c" = n ] ; then diff -c /etc/master.passwd /usr/src/etc/master.passwd exit 4 fi cmd="cp /disk2/larry/etc/make.conf /etc" cp /disk2/larry/etc/make.conf /etc bailout cmd="cp /disk2/larry/usr/src/sys/i386/conf/CUSTOM /usr/src/sys/i386/conf" cp /disk2/larry/usr/src/sys/i386/conf/CUSTOM /usr/src/sys/i386/conf bailout cmd="Clean out /usr/obj" echo -n "Clean out /usr/obj? [y/n]: " read d if [ "$d" = y ] ; then cd /usr/obj chflags -R noschg * rm -rf * fi bailout echo -n "Continue with build? [y/n]: " read e if [ "$e" = n ] ; then exit 5 fi # Kill SETI@home kill `ps -aux | grep setia | grep -v grep | awk '{print $2}'` if [ ! -d /var/log/build ] ; then mkdir /var/log/build fi cmd="make buildworld" cd /usr/src echo -n "Time for buildworld:" >> $blog \time -aho $blog make buildworld bailout cmd="make kernel" echo -n "Time for make kernel:" >> $blog \time -aho $blog make kernel bailout echo "Reboot to single user mode and run /disk2/larry/bin/update2"help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000001c385f7$f948a5d0$04fea8c0>
