自动在核心之间分配应用程序的 CPU 使用率(Windows 8)

自动在核心之间分配应用程序的 CPU 使用率(Windows 8)

我有一台 Athlon 8 核 CPU(4 个硬件,8 个逻辑),我发现它的使用率很少超过 12.5%。我读到本文这解释了原因,并且有两种解决方案:

  1. 为进程/应用程序设置处理器亲和性
  2. 设置进程/应用程序的优先级

但是,手动为 20 多个应用程序和谁知道有多少个进程执行此操作似乎是一种过时的策略。我很惊讶这不是动态完成的。是否存在一种可以完全自动完成所有这些操作的工具?

此外,据我所知,上述两种技术对于 Google Chrome 等应用程序根本不起作用,因为这些应用程序对每个浏览器选项卡使用不同的进程。这些肯定可以以某种方式分布?(我还没有尝试过,但如果 Flash 实例可以在单独的进程/处理器中运行,那就太好了,Java 应用程序也是如此)

答案1

交给操作系统。它应该能够自行找到最有效的 CPU 负载/分配。

这里最大的问题是,即使效率更高,您也无法真正将单个线程分配到多个核心上。如果应用程序不是为多线程构建的,您无法采取任何措施来强制它利用更多核心。

总体而言,负载平衡是有效的。您可以自己并行运行某些操作。例如,使用两个实例ffmpeg同时转换两个不同的文件。假设您的其他硬件足够快,您应该看到两个进程各自占用大约 12.5% 的 CPU,总共占用 25%。

相关内容