关于bash:如何:make -j x //其中x是自动确定的

how to: make -j x // where x is automatically determined

阅读此问题的答案后:使"make"默认为"make-j 8"

我想知道是否有办法使-j选项自动使用正确数量的编译线程?

所以我说make。而make命令本身根据硬件使用6、4或8个线程?


如果您只使用make -j,那么make本身就不会查找内核的数量——相反,它与最大值是平行的。但是,您应该能够通过

1
grep -c"^processor" /proc/cpuinfo

或者(根据Azor Ahai的意见,如果您的系统上有可用的话)

1
nproc

因此:

1
make -j $(nproc)

请参见"如何从命令行获取Linux中CPU/内核的数量?"了解更多详细信息。另外,请参阅GNU make:作业的数量是否应该等于系统中CPU核心的数量?