如何防止编译器&链接器接管整个机器?

时间:2014-08-16 03:15:55

标签: linux process compilation

当我编译一个大型项目时,编译器会极大地减慢机器速度,实际上将其冻结。如果我很幸运,vim中的按键需要几秒钟才能注册。如果我不是,我可以去散步,因为我的工作站根本无法做任何事情。

有没有办法阻止编译器和链接器使用整个机器?更一般地说,是否可以将一系列进程限制为计算资源的一部分,例如线程,内存,磁盘访问带宽?

限制源自运行构建的shell的进程树的可用资源是理想的。

2 个答案:

答案 0 :(得分:3)

大多数Linux发行版都有一个名为cpulimit的软件包。您可以使用它来限制gcc工具链二进制文件的CPU使用率。

它提到了这个问题的答案。

Limiting certain processes to CPU % - Linux

答案 1 :(得分:1)

我不是专家,但您可以尝试使用资源有限的特定cgroup开始编译。我不确切地知道这样做有多复杂,但它不应该太难。

您还可以尝试更改流程的nice以使其具有较低的优先级,以便它确实占用整个计算机,但很容易受到其他流程的影响。