因此,当我执行诸如计算文件完整性哈希、转换视频、压缩某些文件等操作时,为什么我的 CPU 使用率达不到 100%,而是在 0% 和 15% 之间跳动。现在我意识到还有其他原因,Windows 的调度程序无法将 100% 的 CPU 分配给任何一项任务,并且某些任务受到其他因素的限制,例如等待硬盘、网络连接等,并且某些任务不适合使用我的所有 CPU 内核,这是糟糕的编码(在应用程序或操作系统上)吗?但是,与其浪费这些 CPU 周期,难道不能加快这些任务的速度吗?顺便说一下,我有一个 i7 处理器,但我问这个问题是一般性问题,而不是针对我的 CPU。
另外,为什么我的 CPU 使用率会是 0%?它总是在做正确的事情,还是这只是一个四舍五入的过程 - 正如 Windows 任务管理器所报告的那样。
谢谢
答案1
12-15% 大约是当应用程序仅使用 i7(4 核 + 超线程)上 8 个内核中的 1 个时获得的百分比,因此看起来您的应用程序只使用了一个内核。
大多数文件哈希处理仅使用 1 个核心以避免磁盘过载。许多文件和视频压缩软件使用多个核心,但并非所有软件都使用多个核心 - 您使用哪些软件进行转换和压缩?
至于 0%,如果后台进程很少,这是有可能的。空闲时,它很可能在 0% 和 1% 之间波动,因此经常显示 0。
除了您没有使用在可能/适用的情况下支持多核的应用程序之外,我没有发现您的情况有什么问题。
无论如何,您应该能够同时运行其中两个任务而不会降低速度,并且单个任务不会影响您顺利使用计算机的能力。
答案2
mtone 给出了很好的答案。
我要补充一点,如果您觉得某个特定的应用程序确实应该使用比现在更多的核心,您可能希望查阅文档以确保您以最有效的方式使用它。
可能有些设置比默认设置更适合您的硬件和用例。例如,如果您想使用 7-zip 文件归档应用程序并确保在大型作业中使用尽可能多的核心,那么您需要确保在可能的情况下使用 lzma2 算法。
我也有一台 i7,我的经验是我们的 CPU 几乎从来不是瓶颈;在绝大多数应用程序中,在达到处理器的极限之前,你会先达到与磁盘速度、RAM 容量或图形处理器相关的极限。