Android 中的 dumpsys cpuinfo:解释此命令的结果

2024-04-03

我正在查看以下命令“adb shell dumpsys cpuinfo”,我想知道这些报告的值是否是之前时间的平均值?

    D:\Android_Dev\Android_sdk\platform-tools>adb shell dumpsys cpuinfo
Load: 4.03 / 3.43 / 2.44
CPU usage from 23770ms to 16630ms ago:
  58% 1844/logd: 58% user + 0% kernel / faults: 3 minor
  50% 3895/com.google.android.wearable.app:ui: 41% user + 9.3% kernel / faults: 1798 minor
  26% 1864/adbd: 2.8% user + 23% kernel / faults: 1243 minor
  22% 4880/logcat: 7.8% user + 15% kernel
  9.7% 7834/kworker/0:2: 0% user + 9.7% kernel
  4.9% 2198/system_server: 2.6% user + 2.2% kernel / faults: 76 minor

我的问题如下:

  1. 这里的错误代表什么?
  2. 这些百分比值代表什么,因为它们加起来不等于 100?
  3. 这些百分比值是各个进程的平均值吗,例如 logd 的 58%?
  4. CPU usage from 23770ms to 16630ms ago:这是什么意思 ?这是否意味着这些值是过去 23 到 16 秒的平均值?

adb shell dumpsys cpuinfo

显示来自 /proc/stat 和 /proc/(pid)/stat 的信息

1.这里的故障代表什么?

页面错误。
“minor”指轻微的错误。

来自 ProcessCpuTracker.java

collectStats(...) {
  ...
  final long[] procStats = mProcessStatsData;
  if (!Process.readProcFile(st.statFile.toString(),
  PROCESS_STATS_FORMAT, null, procStats, null)) {
  continue;
  }
  ...
  final long minfaults = procStats[PROCESS_STAT_MINOR_FAULTS];
  final long majfaults = procStats[PROCESS_STAT_MAJOR_FAULTS];
}

private static final int[] PROCESS_STATS_FORMAT = new int[] {
  ...
  PROC_SPACE_TERM|PROC_OUT_LONG,                  // 10: minor faults
  ...
  PROC_SPACE_TERM|PROC_OUT_LONG,                  // 12: major faults
  ...
};

它们是 /proc/(pid)/stat data[9] 和 data[11]。


2.它们相加不到100

http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
(链接页面来自解释 dumpsys cpuinfo https://stackoverflow.com/questions/24612982/interpreting-dumpsys-cpuinfo)

对于多处理器系统,总和可以超过100%。


3.这些百分比值是各个过程的平均值吗

来自 ProcessCpuTracker.java

printProcessCPU(...) {
  ...
  printRatio(pw, user+system+iowait+irq+softIrq, totalTime);
  ...
}

打印第二个参数(用户+...)/第三个参数(totalTime)。


4.CPU使用率从23770ms到16630ms前

时间基于 ProcessCpuTracker 缓存的统计数据更新时间。

来自 ProcessCpuTracker.java

update() {
  final long nowUptime = SystemClock.uptimeMillis();
  ...
  mLastSampleTime = mCurrentSampleTime;
  mCurrentSampleTime = nowUptime;
  ...
}

[相关来源]
https://android.googlesource.com/platform/frameworks/native/+/master/cmds/dumpsys/dumpsys.cpp https://android.googlesource.com/platform/frameworks/native/+/master/cmds/dumpsys/dumpsys.cpp
主() => 服务->转储()

https://github.com/android/platform_frameworks_base/blob/master/services/core/java/com/android/server/am/ActivityManagerService.java https://github.com/android/platform_frameworks_base/blob/master/services/core/java/com/android/server/am/ActivityManagerService.java
调用 CpuBinder.dump()
mProcessCpuThread 更新统计缓存。 (调用 updateCpuStatsNow())

https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/os/ProcessCpuTracker.java https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/os/ProcessCpuTracker.java
printCurrentLoad() 打印 CPU 负载
printCurrentState() 打印每个进程的统计信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中的 dumpsys cpuinfo:解释此命令的结果 的相关文章

  • 多少个 div 标签太多了?

    在一个 HTML 文档中需要多少个 div 标签才会影响性能 在这种情况下 标签不嵌套 并且每个标签内的内容最少 背景颜色 图像 这个问题是上一个问题的后续问题 使用 JavaScript 绘制带有可点击点的线条 https stackov
  • BluetoothAdapter.getDefaultAdapter() 不返回 null

    这是我的第一篇文章 所以如果我做了一些愚蠢的事情 请告诉我 这个问题可能看起来与其他帖子类似 但或多或 少与我所看到的所有内容相反 关于该项目的事情 我正在开发 android 4 0 4 4 应用程序 我正在使用蓝牙 我正在运行 andr
  • 如何将 Android Instrumentation 测试推送到模拟器/设备?

    我正在尝试使用 Ubuntu 9 04 中的命令行 shell 在 Android 模拟器上运行 Webkit 布局测试 adb s emulator 5554 shell am instrument w com android dumpr
  • Android Facebook sdk 3.5 分享对话框

    您好 我正在为 android sdk 3 5 实现 facebook 共享对话框 但是我按照指南没有取得任何成功 FacebookDialog shareDialog new FacebookDialog ShareDialogBuild
  • Android 中的 java.util.Observable 是线程安全的吗?

    Android 中的 java util Observable 是线程安全的吗 这文档 http developer android com reference java util Observable html说只有deleteObser
  • Laravel 上传前如何压缩图像?

    我正在制作一个图片库网站 用户可以在其中上传任何图像 它们将显示在前端 我需要在不影响图像质量的情况下压缩图像 以减小图像大小 以便页面加载速度不会影响那么大 我使用以下代码来上传图像 rules array file gt require
  • 如何忽略 LeakCanary 中的某些类?

    有人能给我一个如何忽略 LeakCanary 中的某些类的有效示例吗 我正在查看这个示例 以忽略 LeakCanary 中第三方库中的某些类 但我不知道将其放在应用程序中的何处 我把它放在我的应用程序类中 但这些变量和方法有错误 isInA
  • FLAG_ACTIVITY_REORDER_TO_FRONT 被忽略

    我有一个包含项目列表的 FragmentActivity 当应用程序处于后台时 可以推送该项目列表 发生这种情况时 我想创建一个状态栏通知并提醒用户更新 当用户单击通知时 活动应重新排序到前面并显示在屏幕上 同时在列表底部显示新项目 所以我
  • 在后台服务中持续获取位置更新

    我正在开发需要在后台服务中持续获取位置更新的应用程序 我已经使用了它正在使用的后台粘性服务 但是 即使我添加了启动广播并在那里启动了服务 启动完成后服务也没有启动 服务启动并立即被杀死 另外 这不适用于奥利奥 服务在应用程序关闭几分钟后停止
  • android:进程和进程名称

    我试图理解android process属性 Ref says http developer android com guide topics manifest application element html proc 如果分配给该属性的
  • 如何在android中画一条曲线?

    我是 Android 新手 正在开发一个关于绘制线条的示例项目 我想画一条连接两点的曲线或高架线 x1 y1 and x2 y2 我试过canvas drawArc 方法 但是RectF内的值drawArc方法只是圆的 x y 中心点 它在
  • Android:BATTERY_STATUS_DISCHARGING 和 BATTERY_STATUS_NOT_CHARGING 之间的区别

    我想知道这两个标志之间的区别 BatteryManager BATTERY STATUS DISCHARGING And BatteryManager BATTERY STATUS NOT CHARGING 我开发了一个使用这两个标志的应用
  • 如何在Android网格视图中设置单元格大小?

    我正在尝试为应用程序制作一个带有大图标的网格视图 但我找不到任何有关修改 Android 上网格布局上的单元格大小的教程 有人可以给我一个例子或相关链接吗 Thanks 就像另一个一样适配器视图 http developer android
  • 使用 UPI url 调用 PSP 应用程序

    我正在尝试创建一个商家应用程序 它将根据 NPCI 的指南生成一个 url 此 url 将作为意图共享 并且 PSP 应用程序 任何注册的银行应用程序 应该能够侦听该 url 并被调用 我已经形成了这样的网址 upi pay pa icic
  • 无法登录 Google Play 游戏服务

    我在开发者控制台上使用包名称和正确的签名证书设置了我的游戏 并为其创建了排行榜 但没有创建任何成就 然后 我从以下位置下载了示例 Type A Number Challenge 和 BaseGameUtils https developer
  • 如何在 kotlin 中检查 lambda 空值

    在 Kotlin 中如何检查 lambda 是否为空 例如 我有这样的签名 onError Throwable gt Unit 我如何区分它的默认值是应用于主体还是应用于此函数的值 您无法测试 lambda 的主体是否为空 因此它不包含源代
  • 从Android客户端登录appengine

    我正在尝试登录应用程序引擎并访问应用程序引擎中的用户服务API 基本上我希望能够看到谁登录了我的 servlet 我正在使用从 android 获取 authtoken 然后从应用程序引擎获取 ASID 或 SACID cookie 的身份
  • SDK尚未初始化,请务必先调用FacebookSdk.sdkInitialize()

    我在实现 Facebook SDK 时遇到此错误 并且我tried https stackoverflow com questions 15490399 error inflating class com facebook widget l
  • 如何将 Browserify 与外部依赖项一起使用?

    我正在尝试慢慢地将 Browserify 引入我的网站 但我不想重写所有 js 也不希望 jquery 和其他库的重复实例与我的 Browserify 版本捆绑在一起 如果我构建将 jquery 列为外部依赖项的模块 那么如何将其指向我的全
  • 如何从灰度字节缓冲区图像创建位图?

    我正在尝试使用新的 Android 人脸检测移动视觉 API 来处理帧图像 所以我创建了自定义检测器来获取帧并尝试调用 getBitmap 方法 但它为空 所以我访问了帧的灰度数据 有没有办法从它或类似的图像持有者类创建位图 public

随机推荐

  • 如何滚动故事板预览?

    故事板有一个水平滚动条 供您滚动查看其他场景 但预览故事板场景时滚动条不存在 如何滚动故事板预览 假设我没有使用魔术鼠标 关于什么Shift Mouse Scroll 或者 如果您使用的是 Macbook 请在触控板上向左或向右滑动两根手指
  • 附加到 div 的 Bootstrap 箭头

    总的来说 我对引导程序和前端框架非常陌生 但是 我能够注意到使用 bootstrap 的网站的共同特征 下图包含我发现在引导网站中非常普遍的东西 指向其下方文本的向下 或任何方向 蓝色箭头也是我所指的 我使用 firebug 检查了这些元素
  • 如何从 svn 热复制备份中恢复

    我们当前的备份过程是每晚执行 SVN HOTCOPY 到另一台机器上的备份位置 我可以以某种方式从该备份中恢复并保留所有修订历史记录吗 或者我需要使用 svn dump load 吗 谢谢 钱德拉吉特 svnadmin hotcopy 实际
  • 纪元时间和 MySQL 查询

    我有一个这样的表 id date 1 1319043263 2 1319043578 纪元中的日期字段格式 我必须对属于同一天的每一行进行分组 并将它们显示在单独的组中 我怎样才能在 MySQL 中做到这一点 Thanks 通过 分组 SE
  • 如何阻止乌龟在提笔的情况下绘图?

    我正在Python中使用turtle模块 问题是 每当我让乌龟移动时 即使笔在上面 我也会画画 例如 如果我运行这个程序 import turtle turtle penup turtle goto 0 50 海龟移动到 0 50 时仍会画
  • C# with Unity 3D:当用户移动鼠标时如何使相机围绕对象移动

    我正在尝试在 Unity 4 中进行 3D 观看模拟 用户可以选择一个对象并移动鼠标围绕它旋转 360 度 我已经拍摄了很多镜头来尝试让它工作 但每次都失败 任何我们将不胜感激 如果它是用 C 编写的 那就太好了 但没必要 提前致谢 这是一
  • 以全高嵌入 PDF

    我的问题 是否可以将 PDF 嵌入到高度始终为 100 的 HTML 文档中 问题是 pdf 的实际高度可能会有所不同 布局需要对此做出响应 将 PDF 嵌入 HTML 的方法有多种 一种是使用PDF对象 http www pdfobjec
  • Fluent NHibernate 两级继承问题

    我希望在一个级别中为每种类型提供一个表 在另一级别中为层次结构提供一个表 是否可以 描述在这里 gt 我有这些课程 public class BaseItem public int Id get set public class Item
  • 随机排列列表中的元素(随机重新排列列表元素)

    我的程序的一部分要求我能够随机洗牌列表元素 我需要一个函数 当我给它一个列表时 它会伪随机地重新排列列表中的元素 安排的改变Must每次通话时都可以看到相同的列表 我的实现似乎工作得很好 但我觉得它相当长 并且正在增加我的代码库 而且 我有
  • System.currentTimeMillis 的长度

    Does System currentTimeMillis始终返回固定长度的值 在我的 Windows Core2 中 它返回一个 13 位长的值 从它的 API 来看 返回当前时间 以毫秒为单位 请注意 虽然返回值的时间单位是毫秒 但该值
  • 水晶报表中整数到字符串转换的问题

    我想将 int 转换为字符串 然后将点与其连接 这是公式 totext SrNo 它工作完美 但不是我想要的 我想显示为 1 但它以这种方式向我展示 1 00 这意味着当我尝试将 int 转换为字符串时 它会将其转换为精度为两个小数零的数字
  • Angular 项目结构最佳实践

    这是我的 Angular 项目的目录结构 Angular 应用程序可以通过许多不同类型的组件而变得庞大 组织 Angular 应用程序的最佳实践是什么 app layout home layout header menu content d
  • ui-路由器。从对象/函数获取状态名称

    我想知道 有什么方法可以用对象或函数引用视图中的状态吗 只是为了将视图与状态定义分离 例如 如果我更改状态名称 我不必在我的视图中的所有地方更改它 可以在这里找到如下所述的一种解决方案 作为一种可行的解决方案plunker http pln
  • java.lang.reflect.Array 在运行时创建新数组的代码是什么?

    我查看了Java源代码 方法如下 public static Object newInstance Class
  • 查找 PostgreSQL 中时间戳之间的差异(以秒为单位)

    我有一张桌子在PostgreSQL 8 3 with 2 timestamp列 我想知道这些之间的区别timestamps很快 你能帮我解决这个问题吗 TableA timestamp A timestamp timestamp B tim
  • 如何从 AutoHotkey 数组中删除重复项?

    我有一个array https autohotkey com docs misc Arrays htmAutoHotkey 中包含重复条目的字符串 nameArray Chris Joe Marcy Chris Elina Timothy
  • 使用 TensorFlow 模型进行预测

    我遵循了给定的 mnist 教程 并且能够训练模型并评估其准确性 但是 教程没有展示如何根据模型进行预测 我对准确性不感兴趣 我只是想使用模型来预测新的示例 并在输出中查看所有结果 标签 每个结果都有其分配的分数 排序或未排序 In the
  • 如何将 Qt QSqlDriver::subscribeToNotification 与 SQLite3 一起使用?

    我正在编写一个 Qt 应用程序 其中不同的模型可以插入 删除 更新同一个表 当一个模型更改数据库时 我希望其他模型能够收到更改通知 以便他们可以相应地更新其视图 看来在 SQLite 中监控插入 删除和更新的最佳方法是使用QSqlDrive
  • 如何在 Ionic 5 中从 url 下载文件而不使用 FileTransfer

    我目前正在开发 Ionic 应用程序 并停留在文件下载部分 我看到很多帖子都说FileTransfercordova 库现已弃用 取而代之的是 XHR 请求 尽管我看到很多帖子说该库已被弃用 但我找不到任何示例代码 用于从 URL 下载文件
  • Android 中的 dumpsys cpuinfo:解释此命令的结果

    我正在查看以下命令 adb shell dumpsys cpuinfo 我想知道这些报告的值是否是之前时间的平均值 D Android Dev Android sdk platform tools gt adb shell dumpsys