macos - 禁用内核如何影响正在运行的进程?

标签 macos cpu multicore

我在Macbook Pro上安装了此应用程序,该应用程序允许我禁用CPU上的内核。我很想知道:禁用内核如何影响正在运行的进程?

我也有兴趣是否禁用核心对以下内容有影响

  • 电池生命周期
  • 发热
  • 当处理器通常使用少于两个内核的40%时,性能会提高吗?
  • 最佳答案

    禁用内核如何影响正在运行的进程?

    除非您使用的程序编写得非常糟糕,否则它不会。将通知OS调度程序该处理器不再可用,并将仅停止将进程调度到该处理器中。从“运行”到“等待”的过程需要微秒,因此切换将立即显示。该进程将在另一个核心可用且优先级允许时继续运行。

    禁用内核如何影响电池生命周期

    它会产生可测量但不显着的效果-在某些情况下会增加。换句话说,由于现代处理器已经采用了积极的节能技术,因此您不应看到能耗降低超过5%。处理器不会运行空闲循环-当没有准备好运行的进程时它们就会停止。如果整体系统负载较低,则操作系统会降低处理器的速度,而不是停止它们,从而产生类似的节省效果。

    在某些非常特定的使用场景中,能耗将由于操作系统使用处理器的方式而增加(更多的任务切换,导致更低的性能和更高的处理器利用率)。

    禁用磁芯如何影响发热

    与功率一样,它是可测量的,但如果不仔细测量,将不会引起注意。同样,处理器已经具有出色的电源控制,并且无论有多少个处理器处于事件状态,它都会调节时钟,电压和处理器空闲以匹配负载。

    禁用内核如何影响性能(假设处理器使用的内核不足40%)

    流程非常“繁忙”。当您按下一个键或移动鼠标时,它会启动数十个等待过程,并希望在很短的时间内100%地等待。

    通过强制处理器一次而不是并行运行它们,是的,整体平均使用率只有80%,但不仅由于等待的过程很多,而且由于每次执行任务切换,都会使处理器的运行速度变慢进程被更改(由于优先级,完成,中断等),处理器将加载OS任务,然后运行调度程序,然后调度程序将加载下一个任务。

    您正在将一个处理器上的任务切换负载加倍,这意味着您将更频繁地运行OS代码(调度程序,事件管理器等)以适应需求。

    这是浪费的,并且性能下降实际上可能是明显的。例如,如果操作系统可以选择以其正常速度的40%运行两个处理器,则不一定需要执行此额外工作。

    -亚当

    关于macos - 禁用内核如何影响正在运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306705/

    相关文章:

    windows - PHP 进程 ram 和 cpu 使用率 (windows)

    cpu - 选择新的开发机器

    python - ipython笔记本中的"import matplotlib.pyplot as plt"

    java - 需要安装Java 6 for Mac才能编译Android源码

    Java 进程在 GC 之前停止

    ruby - ruby 生成的子进程使用的 CPU

    assembly - Tilera 和 SSE 中的 "Missing"算术指令。手术是如何进行的?

    language-agnostic - 非缓存一致性多核机器编程有什么优势?

    macos - 在 Mail.app 插件中以编程方式读取和更改 to/cc/bcc 字段

    objective-c - 我可以以编程方式打开和关闭 WiFi 并更改网络吗? (Mac SDK)