【发布时间】:2017-12-02 08:17:55
【问题描述】:
我正在尝试使用 nice 运行一个正在使用所有处理器时间的特定进程:
sudo nice -n 20 someProcess
不幸的是,这并没有改变任何东西。在 Activity Monitor 中,它仍然占用 99% 的 CPU。
我怀疑这可能是因为没有太多事情发生,所以它完全可以使用那么多时间,所以我尝试了压力测试:
是 > /dev/null & 是 > /dev/null & 是 > /dev/null & 是 > /dev/null &
即使使用 nice -n 20,有问题的进程使用了 99% 的 CPU,将四个“是”进程从 99% 降低到每个进程的 60% 左右。
我应该注意,我也尝试过类似地将“nice”与一个“yes”进程一起使用,但发现它根本没有区别……“yes”进程使用的处理器时间与所有其他进程一样多。
发生了什么事? “好”坏了吗?这是在 macOS 10.12.5 上完成的。
【问题讨论】:
-
这个神秘的过程是什么?
-
这有关系吗,因为我能够用“是”重现同样的事情?我认为将“nice”与“yes”一起使用会导致它比“yes”的其他实例使用更少的处理器时间,但情况似乎并非如此。
-
有关于使用所有 CPU 的特定 macOS 进程的 SO 报告 - 每个都有不同的解决方案,所以我认为它可能是其中之一,但如果它不是你想要分享的东西,那很好.
-
没有实际帮助,但是:(a) 也许您有四个 cpu(或八个虚拟核心)?这也适用于同时使用 90% 和 60% x4。 (b)
yes可能不是最好的测试对象,因为它是 I/O 而不是 CPU 密集型。 -
您的问题解决了吗?我也有同样的问题