2017-06-28 42 views
1

我试图运行时使用全部处理器时间使用nice特定进程:“好”命令不工作在MacOS

sudo nice -n 20 someProcess 

不幸的是,这不会改变任何东西。在Activity Monitor中,它仍然占用了99%的CPU。

我起了疑心,这可能是由于这一事实,有没有多的事情,所以这是完全能够使用多少时间,所以我想压力测试有:

是> /开发/空&是>的/ dev/null的&是>的/ dev/null的&是>的/ dev/null的&

即使很好-n 20,所讨论的方法中使用的CPU的99%,推四个“是”从99%降到60%左右。

我要指出,我用“好”与一个“是”过程中也尝试过类似的,并发现它并没有区别可言......那作为的处理器时间,因为所有的人“是”的过程。

发生了什么事? “好”坏了吗?这是在macOS 10.12.5上完成的。

+0

这个神秘的过程是什么? –

+0

这是否重要,因为我可以用“是”重现相同的东西?我认为使用“好”与“是”会使其使用比其他“是”的实例少的处理器时间,但似乎并非如此。 –

+0

有关使用所有CPU的具体macOS进程的报告 - 每种方法都有不同的解决方案,所以我认为它可能是其中一种,但如果它不是您想要共享的,那很好。 –

回答

1

答案是“你希望我也很高兴做一些它不能做”。

这不是很好的工作。所有尼斯做的是改变一个过程的'优先'。 这意味着,如果有两个需要CPU的进程,那么已经“nice”的进程将被放在第二个位置,而不是以FIFO方式简单地执行进程。参数都是关于确定系统按照什么顺序为处理器安排的内容。

因此,如果没有其他请求CPU那么你的“nice'd过程中得到它。这意味着,即使所有的进程都很好,CPU仍然可以100%运行。

如果你想有一个过程的CPU不推到100%,它必须建立在机制,以防止其不断要求,它的命令执行。睡觉并暂停等待用户输入,等等。