android 系统分析工具
DESCRIPTION
Android 系统分析工具. ——dumpsys. Android 系统分析工具 —dumpsys. 简介 实现细节 几个例子 注意事项. 简介. Dumpsys 运行在小机上的可执行文件 Dump 用户感兴趣的系统服务信息 Dump 的信息,对调试有很大帮助 可能需要 root 权限 $ adb shell su -- dumpsys [option] # dumpsys [option] option 为已注册的服务. 实现细节. 所有的 dump 信息都是由重载了 Binder 中的 dump 函数的类来完成: - PowerPoint PPT PresentationTRANSCRIPT
——dumpsys
1
Android系统分析工具— dumpsys
简介实现细节几个例子注意事项
2
简介Dumpsys运行在小机上的可执行文件Dump用户感兴趣的系统服务信息Dump的信息,对调试有很大帮助可能需要 root权限
$ adb shell su -- dumpsys [option]# dumpsys [option]
option 为已注册的服务
3
实现细节所有的 dump信息都是由重载了 Binder中的 dump函数的类来完成:@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
... }
Dumpsys通过 ServiceManager获取所有系统已注册服务
调用服务的 dump方法服务重载了 dump方法服务的 proxy端和实现段都是继承自 IBinder
4
实现细节
5
dumpsys
IService IBinder IBinder Service
dump
Binder IPC
listService
Binder IPC
ServiceManager
SurfaceFlinger
activity
window
...
Android系统分析工具— dumpsys
简介实现细节几个例子注意事项
6
几个例子Dumpsys meminfoDumpsys diskstatsDumpsys SurfaceFlingerDumpsys window input
7
Dumpsys meminfoDumpsys meminfoDumpsys meminfo –aDumpsys meminfo <pid>Dumpsys –oom
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存 )
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
8
Dumpsys diskstats这是一个简单的服务程序,提供功能仅为 dump信息
9
Dumpsys SurfaceFlinger常用查看命令,查看系统 display的状况
10
Dumpsys window input常用命令 (整个window都是常用命令 )查看系统输入子系统的状况
11
注意事项无需 trace,非常方便监控关心的关键信息的值Android的服务基本都有 dump信息, debug的利器,效率极高 (相比 trace和断点调试 )
开发、维护人员需要经常使用并熟悉相关的表示适时扩展 dump的输出及格式,方便适时调试。新增服务及接口,尽量实现此 dump功能,以提高
debug效率。常用服务需要掌握调试技巧
12
Thanks!
13