0

我现在正在运行一个似乎全速运行的应用程序,但即使风扇似乎以最大转速旋转并且活动监视器报告该应用程序正在使用 100% 的处理器,我怀疑最多它只使用我机器上两个内核中的一个内核的 100%。

如何告诉 OS X 允许应用程序使用 100% 或操作系统允许的计算机处理能力?我尝试了一些终端命令,如“nice”和“renice”来设置这个进程的优先级,但仍然无法让它全速运行。

我也想知道如何做相反的事情,设置应用程序的处理器使用限制,例如将应用程序 X 设置为 20% 运行。

这可以在不修改应用程序代码的情况下完成吗?

4

1 回答 1

3

这个问题的答案取决于你的应用程序是否是多线程的。如果这是一个单线程应用程序,除非您专门将其设为多线程,否则该进程将在您的多核硬件的一个核心上运行。您对此无能为力,这是底层操作系统的功能。

如果您的程序是多线程的,则可以在不同的内核上执行不同的线程。这将增加流程的整体使用率并允许大于 100% 的数字。

然而,你不能强迫机器使用“所有”可用的处理能力,但你可以很好地影响它。

为了减少使用的处理器数量,您可以使用 nice 来降低进程的优先级。如果你是 root 你也可以使用 nice 来增加你的进程的优先级

于 2009-06-05T07:50:56.290 回答