Updating the ports index is slow, but system load is nil

Richard Bradley rtb27 at cam.ac.uk
Tue Mar 1 17:52:28 PST 2005


Hi,

Sometimes (not always) when I do a 'portupgrade', it takes _ages_ to "update 
the ports index", without actually placing any noticeable load on the system.

In ports/UPDATING, it says (of make index) "This may take an undesirably long 
time.". That would be fine, *if it were doing any work*.

I try to speed it up by "renice"ing all the processes I can pin down as 
belonging to the portupgrade (is there a recursive renice for child 
processes?), but it makes no difference.

Here's a grab of "top", after I've been staring at 
"Updating the ports index ... Generating INDEX.tmp - please wait.."
for about 10 minutes....

PID USERNAME PRI NICE   SIZE    RES STATE    TIME   WCPU    CPU COMMAND
65942 rich     101    0 37396K 27732K select   0:01  4.18%  2.39% kdeinit
62156 rich      96    0 52072K 40144K select   0:04  1.69%  1.56% kontact
  557 root      96    0   102M 48316K select  15:39  0.88%  0.88% Xorg
67154 root       8   -5  7304K  7180K wait     0:00  2.96%  0.54% make
67520 root       8   -5   928K   800K wait     0:00  3.00%  0.15% make

notice that
a) there's almost no load on the system
b) I managed to catch some of the make's and renice them
c) It didn't help
These two makes soon disappeared from the top of the list, leaving only 
background processes.

It doesn't have any open network connections, so I'm not waiting for a remote 
machine; it doesn't have any system load so I'm not waiting for processing; 
the hard disk is (largely) idle, so I'm not waiting for i/o, but I am still 
waiting!

How can I make it stop messing around and get on with it?

Thanks,


Rich




More information about the freebsd-questions mailing list