我每天都写程序。然而,每当我尝试做一些要求过高的事情(例如多线程编译)时,我认为系统可能会因 CPU 使用率过高而锁定。即使我根本没有做任何异常的事情,我的语言服务器也会过度占用 CPU 以至于冻结整个系统。
我可以阻止这种情况发生吗?如果发生这种情况,我该怎么做才能摆脱它?发生这种情况时,我通常必须重新启动计算机,从而在此过程中丢失一些工作。
答案1
CPU 需求较高的进程可以是nice
d 或reniced
d(后者适用于已经运行的进程)。这会导致它们优先考虑需要 CPU 的其他进程。
我认为nice
对磁盘 IO 或内存 (ab) 用户没有影响。可以限制系统使用的这一方面,但需要更复杂的工具,即 cgroups 框架。