У Gentoo Linux можна встановити MAKEOPTS
змінну, /etc/portage/make.conf
щоб сказати, make
скільки завдань вона повинна виконуватися паралельно при складанні пакетів. Оскільки у мене двоядерний процесор, я наївно вирішив використовувати -j2
варіант: по одній роботі на ядро, тому обом потрібно щось робити. "Проблема" полягає в тому, що існує багато посилань, які говорять користувачам, які мають двоядерний процесор, -j3
замість цього встановити параметр. Деякі з них:
- Довідник Gentoo
- Вікі Gentoo
- сторінка man.conf (5)
Наприклад, у посібнику Gentoo сказано:
Хороший вибір - кількість процесорів (або процесорних ядер) у вашій системі плюс один, але це керівництво не завжди є ідеальним.
Але що обґрунтовує правило "CPU + 1"? Чому зайва робота?
Сторінка man.conf (5) навіть говорить:
Запропоновані налаштування знаходяться між CPU + 1 та 2 * CPU + 1.
Я також читав розділ 5.4 (Паралельне виконання) на make
інформаційній сторінці та make
поясненні для цієї сторінки -j
, але здається, що відповіді там немає.