在Gentoo Linux中,可以设置MAKEOPTS
变量/etc/portage/make.conf
以告知make
构建软件包时应并行运行多少个作业。由于我有一个双核CPU,因此我天真地选择使用该-j2
选项:每个核一个作业,因此两者都有事情要做。“问题”有很多参考,它们告诉拥有双核CPU的用户设置该-j3
选项。他们之中有一些是:
例如,Gentoo手册中说:
一个不错的选择是系统中的CPU(或CPU内核)数量加一个,但是此指南并不总是很完美。
但是“ CPU + 1”规则的基本原理是什么?为什么要增加工作?
make.conf(5)手册页甚至说:
建议的设置在CPU + 1和2 * CPU + 1之间。
我还阅读了make
信息页的5.4节(并行执行)和make
该-j
选项的手册页说明,但似乎那里没有答案。