V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Winter1sComing
V2EX  ›  Apple

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

  •  
  •   Winter1sComing · 2020-01-22 18:17:59 +08:00 · 3609 次点击
    这是一个创建于 1801 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    4 条回复    2020-01-23 20:07:30 +08:00
    Licsber
        1
    Licsber  
       2020-01-22 18:23:01 +08:00
    一个 CPU 线程计算作 100%
    superrichman
        2
    superrichman  
       2020-01-22 19:04:25 +08:00
    多核 cpu 会这样,列表显示的是一个程序在多个 cpu 使用率的总和,结果可以超过 100%,比如第一个核心用了 80%,第二个核心用了 70%,列表就会显示 150%,详细可以去了解一下 top 命令。
    IgniteWhite
        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 一刻也休息不了,风扇呼呼转。
    IgniteWhite
        4
    IgniteWhite  
       2020-01-23 20:07:30 +08:00
    补充疑问:对于 top 命令,如果你 CPU 有四个核,那么四核刚好跑满且无等待进程,平均负载应该是 4。这个值对应到任务管理器里,是 100%还是 400%呢?我觉得不应该是 400%,因为这很不直观。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2909 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 595ms · UTC 11:19 · PVG 19:19 · LAX 03:19 · JFK 06:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.