社区

你真了解CPU利用率?

awen 2020-04-10
3998个浏览 5个回帖

Android:

CPU Usage:传统CPU利用率,也叫未规范化CPU利用率

计算方法:当前时刻CPU频率下,CPU Usage = CPU执行时间/CPU总时间。

备注:一般Android StuduioAdb等获取的CPU利用率都是未规范化CPU利用率。

CPU Usage(Normalized):规范化CPU利用率

由于移动设备CPU频率时刻变化,用传统CPU利用率计算方法,假定在低频率时刻计算出CPU利用率=30%,和在CPU高频时刻计算出CPU利用率=30%。同样都是30%但性能消耗是完全不样的,明显高频消耗更高。传统CPU利用率已无法真实反映性能消耗。

所以我们需要一种规范化(可量化)的统计方式。将频率因素考虑进去。

CPU Usage(Normalized)= (CPU执行时间/CPU总时间) * (当前时刻所有CPU频率之和/所有CPU频率最大值之和)

     PerfDog两种统计方式都有。CPU Usage默认为未规范化CPU利用率。建议使用规范化CPU利用率作为衡量性能指标。

     备注:极少部分手机暂时无法测试规范化CPU利用率,请重启下尝试。

iOS:

PerfDog统计的是传统CPU利用率,CPU Usage默认为未规范化CPU利用率。由于iOS平台,频率变化一般是在电池电量极低,锁屏等极端情况下才出现。所以规范化没有很大意义。


回帖
5个回帖
  • 为什么cpu获取到的值与Xcode获取到的不一致?perfdog获取的值非常小,只要8%

    点赞1 回复
    2020-04-24 23:00:06
  • 如何切换到未规范化CPU利用率模式?

    点赞0 回复
    2020-04-29 09:40:29
  • @tim luo

    勾选上CPU Usage(Normalized)即可。
    点赞0 回复
    2020-05-11 18:35:11
  • 感觉不错,看了之后有一定价值

    点赞0 回复
    2020-06-03 20:02:42
  • CPU Core Usage是干嘛的,有什么作用,在什么场景下会使用?

    点赞0 回复
    2020-06-04 14:23:04
取消评论
取消
投稿
投稿须知:
1. 作者信息:PerfDog社区 ID
2. 原创信息:原创 OR 转载 (转载需附原地址)
3. 文章详细内容
请发送至 PerfDog@tencent.com 复制邮箱 已复制
我们将会在5个工作日内回复
我知道了