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