CPU 使用率高于预期(超过 200%,总共有两个内核)

CPU usage is higher than expected to be possible (over 200% with a total of two cores)

如果我错了请纠正我,但根据对 this question and this question 的回答,我了解到使用的 CPU 的百分比可以轻松上升到 100 * number of processors * number of cores per processor 而不会影响性能严重; 例如 如果我有一个带两个内核的处理器,我的 CPU 使用率应该可以轻松达到 200%。

我刚刚在 Python / TensorFlow 中训练一个小型神经网络时检查了 top,并且 Python 一直使用我的单、双网络的 300% 以上核心处理器。

我没有注意到任何其他应用程序的性能不佳。这怎么可能?

可能是您的特定 CPU 通过某种其他机制支持每个物理核心的多个逻辑线程。 This question 提出了一些您可以发现是否属于这种情况的方法。

请注意,我猜测,您可能会看到这种效果的另一个原因是英特尔的 Turbo Boost 功能与 CPU 计数器和 CPU 使用情况的报告方式相互作用。

100% * nCores 存在超线程、CPU 频率缩放以及 CPU 供应商营销 "threads" 与 "cores".