Q: how to speed-up portupgrade itself?

Paul Seniura pdseniura at techie.com
Tue Mar 30 11:54:23 PST 2004


Hi y'all,

Is there any way to speed-up portupgrade? 

Whenever it needs to check for (pre)requisites, portupgrade
is taking its slow sweet time.  Almost two hours after
invoking, it finally starts showing something.

During the two hours of 'nothing', ps does show a lot of
background stuff going on.  Is it suppose to take two hours
to do all that checking?  It seems to be rechecking items
that it has seen before.  It could benefit by remembering
what-all it has checked on (some sort of cache) during the
same run.

I'm trying to get caught up to CVS ports-cur from late last
week (yes only a few days' worth of commits) by running it
this way:

portupgrade	\
	--all	\
	--new	\
	--recursive	\
	--upward-recursive	\
	--verbose	\
	--noclean	\
	--nocleanup

There is no active pkgtools.conf to clog it up. ;)

Here's a sample log:

ttyv1 at techpc04[/tmp]10:43:13# run_portupgrade |& tee /tmp/pu.log
--->  Session started at: Tue, 30 Mar 2004 10:45:02 -0600
** No need to upgrade 'vilearn-1.0' (>= vilearn-1.0). (specify -f to force)
[...]
** No need to upgrade 'jove-4.16_1' (>= jove-4.16_1). (specify -f to force)
--->  Upgrade of devel/qmake started at: Tue, 30 Mar 2004 12:45:32 -0600
[...]

The "Session started" line does not show up at that time,
it seems to be buffered (tee is not suppose to buffer). 
Two hours after invoking, we'll see that line followed by
the first "No need to upgrade" line. 
It's downhill from there.

Nothing else was running; I'm doing this on a ttyv.  In
fact I was having lunch for half of this particular
two-hour 'nothing' time period and just got back. ;)

I've tried renice'ing it and the subtasks to somewhere in
the range -12 to -17.  It just wants to take two hours no
matter what.  :(

I tried --omit-check, too, but it keeps on doing the
background stuff to check everyone's parents and all that.

I've got /var & /usr & /src & /home & /tmp & swap spread
out over different physical SCSI2 HDs (you should see this
setup ;) and plenty of room on each one. 
Root / is on a terribly slow ATA drive, tho (manufactured
way before IBM & Hitachi joined up ;) . 
That shouldn't be the problem.

I have 384MB of my own SDRAM (PC-100) in this PC (TPTB
wouldn't even give me any from spare PCs). 
/tmp is a dedicated 1GB drive,
and swap is on on another dedicated 1GB drive. 
All that should be plenty to run gcc & whatever.

Custom tuned kernel and world are -Current as of last
night's CTM bucket.  I am running the current portupgrade
rev.1.222 (as it shows in its help text).

I can't pin down when the slowness might've started. 
I don't think it started with the recent revs to
portupgrade, the speed was slowly slowing down and
became unbearable last week with me. ;)

So I wanted to throw this Q out to y'all before it
slows down even worse. 
Are there any other tweaks I can do?


Thank you,

  --  Paul Seniura
      System Specialist
      State of Okla. D.O.T.



More information about the freebsd-ports mailing list