Huge system slowdown while installing ports

Ryan Schmidt ryandesign at
Sun Aug 1 10:37:03 PDT 2010

On Aug 1, 2010, at 07:01, Haravikk wrote:

> I have version 1.9.1. The build of WINE included all dependents (practically everything was outdated so I decided it was better just to uninstall the lot and start fresh).
> I have 10gb of RAM (usually running at over 6gb free), I have four striped hard-drives (non SSD); small file performance isn't great but I've never found it a problem when building software in XCode myself, and the benefit to large file access has far outweighed any slightly diminished performance elsewhere.
> Looking at the processes I did see cc appearing, however it only appeared in incredibly short bursts (about 20 seconds at most) where it would be at close to 100% CPU utilisation (just for the process so one core-ish), but most of the time as I say it's just idling around 15% total system use even accounting for slow drive access I would expect it to at least be jumping around as each file is compiled rather than doing (as far as I can tell) nothing for minutes at a time.
> Now that it's finally finished (it took about 13 and a half hours in total) I hopefully won't have many big ports to update, but it'd be nice to track it down if I ever do need to do a fresh install or whatever.
> I am thinking of getting an SSD and setting up my home folder on ordinary hard-drives, but they're still a bit unreasonably expensive these days as I'd probably need a fairly large one to avoid having to move to much to standard hard drive. I generally find the performance is great though so it's more of a wish list thing than anything else, more likely to do it if I upgrade to a new generation of Mac Pro.

Ah, ok. Sounds like you have an extremely well-equipped Mac. And with this additional data, it sounds like there may be nothing wrong at all. You may just have had a bucketload of outdated ports that needed to be updated and it just took awhile. 13.5 hours still sounds like a lot to me, but I didn't see the whole list of ports that were outdated so I don't know.

Many ports can't take advantage of additional cores. Some software doesn't have that many non-interrelated things to compile. Other ports have parallel building turned off entirely because the software's Makefiles are broken and fail when building in parallel.

So you may be seeing the effect of just one or two jobs happening at once. Spread out over all your cores, it may not look like much in, say, Activity Monitor. I've noticed this too on an 8-core hyperthreaded Mac (16 virtual cores shown in Activity Monitor).

If you know which ports are outdated, and you know the dependency tree, you can sometimes open a new Terminal window and tell MacPorts to work on another unrelated port, to try to use up some spare resources. For example, if it were currently busy building wine, you could safely tell MacPorts to work on upgrading ImageMagick at the same time, since wine is nowhere in ImageMagick's dependency tree. However it will be safer to wait until MacPorts 1.9.2 for this since a bug was just fixed that otherwise will leave you some error messages if you accidentally get into a situation where MacPorts is trying to work on the same port from two different Terminal windows.

More information about the macports-users mailing list