>
> I agree that it would be nice if emerge could do that automatically,
> although I have no clue how to do that or even if it can be done at
> all.  Back when I had less memory, I could let FF, LOo or another
> package run at full speed but only if it was only one of those packages
> at a time.  Thing is, on occasion two or more of those updates would hit
> and due to the long compile times, end up compiling at the same time.
> Do you think there is a way for the devs to set up a method to tell
> emerge not to emerge certain packages at the same time?  In other words,
> if Firefox is emerging, LOo is held until it is done or vice versa.
> Maybe even have it so others can be listed.  The list of large packages
> are likely small but they can have a huge impact on systems with less
> memory.
>
> You think that a feature worth asking the devs about?  Maybe they can
> figure out a way to implement that??


There already is a mechanism you can use, but it’s not the automatic type
that you (and, admittedly I) would like.

I have 3 old 2 core machines, and I use distcc heavily to reduce emerge
times.  The “fastest” (not really) and best equipped has 16 gb memory.  I
do updates on this machine (with distcc help from the others) and
distribute packages to the rest.  After a lot of experimenting, I find that
MAKEOPTS=“-j13 -l5” works the best on this fastest machine.  That setting
allows it to attempt a workload that it alone doesn’t have the resources to
accomplish, but successfully distributes to the other machines.  I use
firefox, chromium, and libreoffice.  Occasionally portage wants to upgrade
more than one of these at a time, which I discover by running emerge
—pretend.  On those occasions,  I’ve learned that I run out of resources
and builds fail.  So I just temporarily mask all but one of those updates,
do the upgrade, unmask one of the masked updates, do another upgrade, and
so on.  Works well for me.  No builds crash, essentially no swap gets used,
and I have substantially accelerated compile and ebuild times.

The tools exist to do what you want to do.  If you were so inclined, you
might even contemplate writing a script to automate what I just described.

John Blinka

Reply via email to