1 |
On Fri, Sep 30, 2011 at 11:25 AM, Mark Knecht <markknecht@×××××.com> wrote: |
2 |
> Hi, |
3 |
> Is there a portage option that will limit the number of cores used |
4 |
> by emerge? For instance, in a chroot on a 12 core machine I want to |
5 |
> limit emerge to not using more than 3 cores? |
6 |
> |
7 |
> If possible, I'd also like to limit the total disk bandwidth |
8 |
> consumption during emerge. For instance, when untarring a big file to |
9 |
> do the emerge at times the disk consumption gets to high and the |
10 |
> machine becomes laggy. Is there an option that addresses this? |
11 |
> |
12 |
> These questions are mostly about being able to update a chroot |
13 |
> mid-day without other tasks slowing down too much. I don't care how |
14 |
> long the chroot really takes to get a huge emerge done, but rathe just |
15 |
> keeping the machine very responsive while it's happening. I already |
16 |
> use: |
17 |
> |
18 |
> MAKEOPTS="-j3" |
19 |
> PORTAGE_NICENESS="15" |
20 |
> |
21 |
> which helps (I think) but it doesn't totally address either of the issues above. |
22 |
|
23 |
If your MAKEOPTS is -j3 then it's not going to use more than 3 cores |
24 |
at a time but it will touch all 12 cores throughout the process |
25 |
because of the normal load balancing. If you want it to use only 3 |
26 |
specific cores, you would need to set the processor affinity (usually |
27 |
done using the "taskset" command from sys-apps/util-linux). |
28 |
|
29 |
For the disk I/O you can set an ionice in your make.conf like: |
30 |
PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}" |
31 |
|
32 |
Salt to taste. :) |