Mac 任务管理器的 CPU 占用是怎么算的

2020-01-22 18:17:59 +08:00
 Winter1sComing

为什么会有超过 100%的情况

3579 次点击
所在节点    Apple
4 条回复
Licsber
2020-01-22 18:23:01 +08:00
一个 CPU 线程计算作 100%
superrichman
2020-01-22 19:04:25 +08:00
多核 cpu 会这样,列表显示的是一个程序在多个 cpu 使用率的总和,结果可以超过 100%,比如第一个核心用了 80%,第二个核心用了 70%,列表就会显示 150%,详细可以去了解一下 top 命令。
IgniteWhite
2020-01-23 20:03:38 +08:00
楼上正解。一个核可以同时跑一个线程。作为参考,linux 里:top 命令,tmux 的 status bar 以及你自定义的 wm 组件都会显示由三个数字组成的 load average,即平均负载。

一个核跑一个线程就会显示 1,一个核有一个线程在跑,有 1.6 个进程在等待,就会显示 2.6。也就是说对于单核,这个数字是运行线程和等待进程之和。对于多核,显示的数字就是把每个核的平均负载加起来。

三个数字,从左到右就是过去 1,5,15 分钟的平均负载。你可以打开 terminal,运行 top 或者 htop 来看平均负载,同时和任务管理器的百分比数值实时对比。我的猜想是,和 top 命令的平均负载一样,超过百分百意味着有进程在等待,你的 CPU 一刻也休息不了,风扇呼呼转。
IgniteWhite
2020-01-23 20:07:30 +08:00
补充疑问:对于 top 命令,如果你 CPU 有四个核,那么四核刚好跑满且无等待进程,平均负载应该是 4。这个值对应到任务管理器里,是 100%还是 400%呢?我觉得不应该是 400%,因为这很不直观。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/639904

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX