为什么会有超过 100%的情况
1
Licsber 2020-01-22 18:23:01 +08:00
一个 CPU 线程计算作 100%
|
2
superrichman 2020-01-22 19:04:25 +08:00
多核 cpu 会这样,列表显示的是一个程序在多个 cpu 使用率的总和,结果可以超过 100%,比如第一个核心用了 80%,第二个核心用了 70%,列表就会显示 150%,详细可以去了解一下 top 命令。
|
3
IgniteWhite 2020-01-23 20:03:38 +08:00 1
楼上正解。一个核可以同时跑一个线程。作为参考,linux 里:top 命令,tmux 的 status bar 以及你自定义的 wm 组件都会显示由三个数字组成的 load average,即平均负载。
一个核跑一个线程就会显示 1,一个核有一个线程在跑,有 1.6 个进程在等待,就会显示 2.6。也就是说对于单核,这个数字是运行线程和等待进程之和。对于多核,显示的数字就是把每个核的平均负载加起来。 三个数字,从左到右就是过去 1,5,15 分钟的平均负载。你可以打开 terminal,运行 top 或者 htop 来看平均负载,同时和任务管理器的百分比数值实时对比。我的猜想是,和 top 命令的平均负载一样,超过百分百意味着有进程在等待,你的 CPU 一刻也休息不了,风扇呼呼转。 |
4
IgniteWhite 2020-01-23 20:07:30 +08:00
补充疑问:对于 top 命令,如果你 CPU 有四个核,那么四核刚好跑满且无等待进程,平均负载应该是 4。这个值对应到任务管理器里,是 100%还是 400%呢?我觉得不应该是 400%,因为这很不直观。
|