制定并行性的系统限制

时间:2016-01-27 23:58:56

标签: makefile

有没有办法为make自动设置的-j进程数量设置系统限制?我有一个默认为-j8的系统,但是没有足够的内存来处理它而没有交换。

如果没有提供特定号码,我想设置系统默认值-j4

1 个答案:

答案 0 :(得分:2)

我在手册中没有看到任何表明您可以执行此操作的内容,我认为您无法覆盖-j中的MAKEFLAGS或类似内容。

您可以在较新版本的make中使用-l/--max-load option根据系统负载调整作业数量,但这不是内存限制。

我唯一想到的就是将make二进制文件本身包装在某种类型的脚本中,该脚本控制传递给它的-j选项(如果有的话)和任何值在MAKEFLAGS环境中。