Fra*_*int 64 cpu parallel-processing macos
我正在玩一个脚本,但我被带走了(它现在仍在运行,但我的电脑还没有死)。我正在运行脚本的 17 次迭代(意图使我的计算机崩溃)。
查看活动监视器,我发现每个 Python 进程都有一个唯一的 pid,并且它们似乎每个占用了我大约 17-20% 的处理能力......这怎么可能?我的计算机是否神奇地增加了 200% 的功率并在某处违反了热力学定律?
Vas*_*fed 101
在 OS X 上,与其他 *nix 一样,CPU 负载是按虚拟处理器内核测量的。如果您有多个 - 您可以在满载情况下组合 200% 甚至更多。
这与 Windows 和其他一些系统不同,其中 CPU 负载是按整个 CPU(或 CPU - 我不记得它在具有多个物理处理器时的行为)。
Dan*_*l B 81
OS X 和 Linux 以及可能的其他 UNIX 操作系统(或者更确切地说是这些系统上最常用的工具)显示的 CPU 使用率与 Windows 不同。在 Windows 上 100% 意味着“使用了所有CPU 资源”。在 Linux 上,这意味着一个“线程”(如在超线程中)完全忙碌。因此,它可以达到(Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs)总计。
尽管不完全相关,但另一个有趣的事实是:Windows 10 使用 CPU 的当前节流状态进一步规范了 CPU 使用率。因此,以 1 GHz 节流运行的 2 GHz CPU 最多只能占用 50%。
Tet*_*jin 12
正如在几个答案中已经指出的那样,Mac 将每个进程的 CPU 百分比显示为“一个核心的百分比”,因此您应该将其除以核心数量[包括 HT 为“双倍”]
如果您不确定您拥有多少个虚拟内核, Cmd ? 3 将打开 Activity Monitor 的 CPU History 窗格,您可以在其中简单地计算条纹数 ;)
在您切下图像的正下方是快速确定 System:、User: 和 Idle: 的实际总使用量所需的信息:您的简单总和为 100%
活动监视器实际上并没有测量每个应用程序/进程使用的处理能力,它只是使用算法对其进行估计。所以它可能不准确......
此外,正如@Vasfed 指出的那样,CPU 消耗是按处理器内核测量的。多核可能意味着高于 100% 的使用率...
一个极客偶尔会偶然发现这种现象并大吃一惊,直到超级用户来帮助他...... ;D
| 归档时间: |
|
| 查看次数: |
14735 次 |
| 最近记录: |