Paul Hartman wrote:
On Fri, Sep 30, 2011 at 11:25 AM, Mark Knecht<markkne...@gmail.com>  wrote:
Hi,
   Is there a portage option that will limit the number of cores used
by emerge? For instance, in a chroot on a 12 core machine I want to
limit emerge to not using more than 3 cores?

   If possible, I'd also like to limit the total disk bandwidth
consumption during emerge. For instance, when untarring a big file to
do the emerge at times the disk consumption gets to high and the
machine becomes laggy. Is there an option that addresses this?

   These questions are mostly about being able to update a chroot
mid-day without other tasks slowing down too much. I don't care how
long the chroot really takes to get a huge emerge done, but rathe just
keeping the machine very responsive while it's happening. I already
use:

MAKEOPTS="-j3"
PORTAGE_NICENESS="15"

which helps (I think) but it doesn't totally address either of the issues above.
If your MAKEOPTS is -j3 then it's not going to use more than 3 cores
at a time but it will touch all 12 cores throughout the process
because of the normal load balancing. If you want it to use only 3
specific cores, you would need to set the processor affinity (usually
done using the "taskset" command from sys-apps/util-linux).

For the disk I/O you can set an ionice in your make.conf like:
PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"

Salt to taste. :)



Well, this is interesting:

root@fireball # emerge -1av kate
ionice: bad prio class -3
 * PORTAGE_IONICE_COMMAND returned 1
* See the make.conf(5) man page for PORTAGE_IONICE_COMMAND usage instructions.

When I went to copy this, I noticed it was commented out. Now I see why. What's up with this?

I bet Mark is going to get this too.

Dale

:-)  :-)

Reply via email to