CPU 如何工作以及它与进程的 CPU 使用率的关系

CPU 如何工作以及它与进程的 CPU 使用率的关系

我发现很多人建议在任务管理器中将一个进程的优先级设置为“实时”,并要求让进程在 100% CPU 使用率下运行。

但是,在任务管理器中 CPU 使用率目前不是 100% 的情况下,为进程提供更高的上限是否毫无用处,因为当前正在运行的所有进程甚至都没有超过我的 CPU 的能力?

或者例如,假设程序 A 运行需要 5 个 CPU 单位。如果我给程序 A 100 个单位资源而不是 50 个单位资源,程序 A 会运行得更快,尽管它在两种情况下都不会使用所有资源?

答案1

当某个进程有可能被其他 CPU 使用率较高的进程延迟时,您会希望提高该进程的优先级。

如果该进程使用的 CPU 资源较少(比如说 5%),那么一般来说,使其实时化不会有什么区别;它仍然会使用 5%,但是没有其他优先级较低的进程能够窃取这 5%。

实际上,优先级用于保留 CPU 使用率。

答案2

问题是有些程序不会使用更多 CPU,因为它们不是为多线程设计的。大多数程序仍然是单线程的,有些可以使用多于 1 个核心,但仅限于特定条件下。

部分原因是程序编写时并未充分利用单个核心。有时,无法让任务使用多个核心,因为您必须等待第 1 部分完成后才能开始第 2 部分。

在某些情况下,可以重写程序以支持多线程,但这可能要花费大量时间和金钱,所以说服开发人员这样做很难。当然,除非你给他一张空白支票,并为此付钱。

相关内容