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. :)

Reply via email to