6

阅读此问题的答案后: 将“make”默认为“make -j 8”

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

所以我说make。命令make本身使用 6 或 4 或 8 个线程,具体取决于硬件?

4

1 回答 1

15

make如果您只使用 -- 相反,它不会自行查找内核数make -j,而是并行化到最大值。但是,您应该能够通过

grep -c "^processor" /proc/cpuinfo

或(根据 Azor-Ahai 的评论,如果在您的系统上可用)

nproc

因此:

make -j $(nproc)

有关详细信息,请参阅“如何从命令行获取 Linux 中的 CPU/内核数? ”。另外,请参阅GNU make:作业数量是否应该等于系统中 CPU 内核的数量?

于 2012-06-08T08:28:48.447 回答