如果我使用make -j2
,它构建正常,但未充分利用CPU:
如果我使用make -j4
,它会快速构建,但对于某些特定于模板的文件,它会占用大量内存,从而减慢整个系统和构建过程,因为交换到HDD:
如何根据内存自动限制并行任务数量,如下所示:
,以便以最大速率构建项目,但在某些地方放慢速度以避免撞到内存墙?
思路:
-l
并在内存繁忙时人为调整负载平均值(当系统出现问题时,负载平均值会自然增长)。答案 0 :(得分:0)
这不是一个完整的解决方案,而是一种基于“后卫”的潜在方法。
执行一项警卫工作
a。等待抖动(页面错误/每秒超出限制)和高CPU使用率。 b。找到内存使用率最高的作业,将其挂起。 C。等待一段时间,以使系统重新平衡自身。 d。重复
如果方法不错,可以发布示例实现。