Winter1sComing
V2EX  ›  Apple

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

  •  
  •   Winter1sComing · Jan 22, 2020 · 4070 views
    This topic created in 2319 days ago, the information mentioned may be changed or developed.

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

    4 replies    2020-01-23 20:07:30 +08:00
    Licsber
        1
    Licsber  
       Jan 22, 2020
    一个 CPU 线程计算作 100%
    superrichman
        2
    superrichman  
       Jan 22, 2020
    多核 cpu 会这样,列表显示的是一个程序在多个 cpu 使用率的总和,结果可以超过 100%,比如第一个核心用了 80%,第二个核心用了 70%,列表就会显示 150%,详细可以去了解一下 top 命令。
    FurN1
        3
    FurN1  
       Jan 23, 2020   ❤️ 1
    楼上正解。一个核可以同时跑一个线程。作为参考,linux 里:top 命令,tmux 的 status bar 以及你自定义的 wm 组件都会显示由三个数字组成的 load average,即平均负载。

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

    三个数字,从左到右就是过去 1,5,15 分钟的平均负载。你可以打开 terminal,运行 top 或者 htop 来看平均负载,同时和任务管理器的百分比数值实时对比。我的猜想是,和 top 命令的平均负载一样,超过百分百意味着有进程在等待,你的 CPU 一刻也休息不了,风扇呼呼转。
    FurN1
        4
    FurN1  
       Jan 23, 2020
    补充疑问:对于 top 命令,如果你 CPU 有四个核,那么四核刚好跑满且无等待进程,平均负载应该是 4。这个值对应到任务管理器里,是 100%还是 400%呢?我觉得不应该是 400%,因为这很不直观。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2713 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 14:53 · PVG 22:53 · LAX 07:53 · JFK 10:53
    ♥ Do have faith in what you're doing.