并行使意识到记忆

时间:2013-03-08 19:35:46

标签: build-process gnu-make

我使用“make -j”(以及makefile)来生成缩略图并计算大量电影文件的各种统计信息。根据电影的不同,我计算的一些统计数据需要占用机器的大部分内存。有没有办法告诉make不要同时运行两个这样的工作?或者在记忆力不足时杀死工作?

1 个答案:

答案 0 :(得分:1)

Make不知道它调用的其他进程正在使用多少内存。你可以做到这一点的唯一方法是将它自己编码到你的makefile中,通过确保(通过先决条件)make将永远不会同时运行这两个作业。如果这些作业没有自然顺序,您可以使用仅订单的先决条件来确保排序而不强制“重建如果已更改”语义。