В Gentoo Linux можно установить MAKEOPTS
переменную, /etc/portage/make.conf
чтобы указать, make
сколько заданий должно выполняться параллельно при сборке пакетов. Поскольку у меня двухъядерный процессор, я наивно решил использовать -j2
опцию: одна работа на ядро, поэтому у обоих есть чем заняться. «Проблема» в том, что существует множество ссылок, которые говорят пользователям, имеющим двухъядерный процессор, -j3
вместо этого устанавливать опцию. Некоторые из них:
- Руководство Gentoo
- Gentoo Wiki
- Страница man make.conf (5)
Например, руководство Gentoo гласит:
Хороший выбор - это количество процессоров (или процессорных ядер) в вашей системе плюс один, но это правило не всегда идеально.
Но что является обоснованием для правила «ЦП + 1»? Почему дополнительная работа?
Страница man make.conf (5) даже говорит:
Предлагаемые настройки: между CPU + 1 и 2 * CPU + 1.
Я также прочитал раздел 5.4 (Параллельное выполнение) на make
информационной странице и make
объяснение справочной страницы для -j
опции, но, похоже, там нет ответов.