Независимо от того, какой аргумент --jobs
я передаю, я всегда получаю 4 потока.
В течение make --jobs=1 target
я вижу строки stdout, которые начинаются с make[1]:
, make[2]:
, make[3]:
и make[4]:
, когда я ожидаю только один поток.
Тот же результат, если я использую make --jobs=100 target
, я получаю 4 потока вместо 100.
Я не уверен, что это является релевантным, но я запускаю make внутри docker контейнера, и docker имеет 7 доступных для меня локальных ядер.
>docker info
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 7
и внутри Alpine Linux docker контейнера
>make --version
GNU Make 4.2.1
Built for x86_64-alpine-linux-musl
>grep -c ^processor /proc/cpuinfo
7
подтверждение того, что контейнер получает 7 ядер.
Могу ли я запустить что-нибудь, что поможет мне понять, почему make так себя ведет?