W Gentoo Linux można ustawić MAKEOPTS
zmienną, /etc/portage/make.conf
aby informowała, make
ile zadań powinno działać równolegle podczas budowania pakietów. Ponieważ mam dwurdzeniowy procesor, naiwnie wybrałem -j2
opcję: jedno zadanie na rdzeń, więc oba mają coś do zrobienia. „Problem” polega na tym, że istnieje wiele odniesień, które mówią użytkownikom posiadającym dwurdzeniowy procesor, aby -j3
zamiast tego ustawić tę opcję. Niektórzy z nich są:
- Podręcznik Gentoo
- Wiki Gentoo
- strona man make.conf (5)
Na przykład podręcznik Gentoo mówi:
Dobrym wyborem jest liczba procesorów (lub rdzeni procesorów) w twoim systemie plus jeden, ale ta wskazówka nie zawsze jest idealna.
Ale jakie jest uzasadnienie reguły „Procesory + 1”? Dlaczego dodatkowa praca?
Strona podręcznika make.conf (5) mówi nawet:
Sugerowane ustawienia to między procesorami + 1 a 2 * procesorami + 1.
Przeczytałem również sekcję 5.4 (Wykonanie równoległe) na make
stronie informacyjnej i make
objaśnienie strony podręcznika dla -j
opcji, ale wygląda na to, że nie ma tam odpowiedzi.