【问题标题】:CPU usage is higher than expected to be possible (over 200% with a total of two cores)CPU 使用率高于预期(超过 200%,总共两个内核)
【发布时间】:2018-01-24 20:41:38
【问题描述】:

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

我刚刚在使用 Python / TensorFlow 训练一个小型神经网络时检查了 top,而 Python 一直在使用超过 300% 的单核双核处理器。

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

【问题讨论】:

  • 如果你在终端运行它,它会告诉你有多少 CPU 内核,包括超线程(如果存在)sysctl -a hw.logicalcpu
  • 谢谢@MarkSetchell,这解释了很多! (有 4 个内核可用)
  • 您还可以通过sysctl -a machdep.cpu.brand_string 和 Google 获取其规格的 Intel CPU 型号。

标签: macos cpu cpu-usage


【解决方案1】:

可能是您的特定 CPU 通过其他机制支持每个物理内核的多个逻辑线程。 This question 建议了一些您可以发现的方法。

需要注意的是,我有点猜测,您可能会看到这种效果的另一个原因是英特尔的 Turbo Boost 功能与 CPU 计数器和 CPU 使用率的报告方式交互。

100% * nCores 的东西在超线程、CPU 频率扩展以及 CPU 供应商市场上“线程”与“内核”之间的模糊关系等事物的存在下崩溃了。

【讨论】:

  • 感谢@MarkSetchell,事实证明我在包含超线程时有 4 个内核(如 sysctl -a hw.logicalcpu 所示),这解释了事情。
猜你喜欢
  • 1970-01-01
  • 2019-02-22
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
相关资源
最近更新 更多