Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
1、 查看内存信息
1)查看所有内存信息
命令:
dumpsys meminfo
例:
C:\Users\laiyu>adb shell
shell@android:/ $ dumpsys meminfo
dumpsys meminfo
Applications Memory Usage (kB):
Uptime: 80066272 Realtime: 226459939
Total PSS by process:
90058 kB: com.tencent.mobileqq (pid 16731)
57416 kB: system (pid 651)
52052 kB: com.miui.home (pid 1121)
…………(篇幅问题,略)
Total PSS by OOM adjustment:
223177 kB: Persistent
57416 kB: system (pid 651)
50036 kB: com.android.deskclock (pid 1096)
…………
252678 kB: Foreground
90058 kB: com.tencent.mobileqq (pid 16731)
…………
50944 kB: Visible
20318 kB: com.miui.miwallpaper (pid 974)
…………
90855 kB: Perceptible
36448 kB: com.google.android.inputmethod.pinyin (pid 987)
…………
39654 kB: A Services
23320 kB: com.tencent.android.qqdownloader (pid 14080)
…………
49659 kB: B Services
20085 kB: com.tencent.mobileqq:qzone (pid 19646)
…………
148413 kB: Background
21457 kB: com.miui.weather2 (pid 14296)
…………
3453 kB: com.miui.providers.datahub (pid 14651)
Total PSS by category:
454627 kB: Dalvik
137206 kB: Unknown
100835 kB: .so mmap
62670 kB: .dex mmap
54208 kB: Other dev
30258 kB: Other mmap
8527 kB: .apk mmap
4752 kB: .ttf mmap
2216 kB: Ashmem
60 kB: Cursor
21 kB: .jar mmap
0 kB: Native
Total PSS: 855380 kB
KSM: 0 kB saved from shared 0 kB
0 kB unshared; 0 kB volatile
2)查看某个包的内存信息
命令:
dumpsys pkg_name
例:
shell@android:/ $ dumpsys meminfo com.tencent.mobileqq > /mnt/sdcard/meminfo.txt
bileqq > /mnt/sdcard/meminfo.txt <</span>
shell@android:/ $
查看导出结果:
具体输出项含义请搜索网络
2、 查看CPU信息
windows系统:
输入命令:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序),如下图所示:

参数含义:
PID : progress identification,应用程序ID
S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
#THR : 程序当前所用的线程数
VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)
PCY : 前台(fg)和后台(bg)进程
UID : User Identification,用户身份ID
Name : 应用程序名称
注意第一列的pid,使用pid值可以查看当前程序的内存使用情况。
查看指定程序内存使用情况:
输入命令: dumpsys meminfo 3253,如下图所示:
参数含义:
dalvik : dalvik使用的内存
native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)
other : 除了dalvik和native的内存,包含C\C++非堆内存······
Pss : 该内存指将共享内存按比例分配到使用了共享内存的进程
allocated : 已使用的内存
free : 空闲的内存
private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)
share dirty : 共享,但有不能被换页出去的内存
使用ctrl + c,退出adb命令行。
法1:linux系统的top命令
例子:
C:\Users\laiyu>adb shell
shell@android:/ $ top -d 1 | busybox grep "com.tencent.mobileqq" > /mnt/sdcard/p
erformance.txt
encent.mobileqq" > /mnt/sdcard/performance.txt <</span>
^C
C:\Users\laiyu>
注:直接使用grep可能报错,提示找不到命令,这时如果busybox中有grep命令,可以如上,busybox grep
查看导出文件,如下,红色框选部分即为cpu利用率
方法2:通过dummpsys cpuinfo命令
命令:adb shell dumpsys cpuinfo
或者分成两部走(参考 查看电量信息)
先adb shell,然后dumpsys cpuinfo
例:
C:\Users\laiyu>adb shell dumpsys cpuinfo | find "com.tencent.mobileqq"
0.1% 16731/com.tencent.mobileqq: 0.1% user + 0% kernel / faults: 8 minor
0% 16753/com.tencent.mobileqq:MSF: 0% user + 0% kernel
0% 19646/com.tencent.mobileqq:qzone: 0% user + 0% kernel
3、 查看应用启动时间
命令:
adb logcat -c && adb logcat -f /mnt/sdcard/up.txt -s tag
选项说明
-c 清屏
-f 指定运行结果输出文件,默认输出到标准设备(一般是显示器
-s 设置默认的过滤级别为Silent
tag 仅显示priority/tag
更多信息烦请参考 adb logcat -help
例:
先启动app,然后执行如下命令
C:\Users\laiyu>adb logcat -c && adb logcat -f /mnt/sdcard/up.txt -s ActivityMana
ger
^C
C:\Users\laiyu>
查看输出文件:
备注:I/ActivityManager: I 代表优先级,ActivityManager代表tag
更清晰图如下
注:查找Dispalyed字眼,如上图,可看到应用(com.tentcent.mobileqq)启动时间(total +4s410ms),启动页停留展示时间(+835ms)
4、 查看电量信息
命令:
dumpsys battery
例:
shell@android:/ $ dumpsys battery
dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: true
status: 5
health: 2
present: true
level: 100
scale: 100
voltage:4211
temperature: 297
technology: Li-poly
shell@android:/ $
Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息的更多相关文章
- Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息 by:授客 QQ:1033553122 1. 查看内存信息 1)查看所有内存信息 命令: dumpsys mem ...
- Android 执行 adb shell 命令
Android 执行Adb shell 命令大多需要root权限,Android自带的Runtime. getRuntime().exec()容易出错,在网上找到了一个执行adb shell命令的类 ...
- Android 常用adb shell 命令
原文地址http://blog.csdn.net/rain_butterfly/article/details/40894807 调试Android程序有时需要adb shell 命令,adb全称An ...
- Android 常用adb shell 命令(转)
调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用. 通过adb我们可以在Eclipse中通过DDMS来调试Androi ...
- 【android】 adb logcat命令查看并过滤android输出log
cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...
- Android:adb shell 命令详解
安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令. 进入“/system/bin”该 ...
- 【Android】-- adb shell 命令探索
ADB是什么,做android开发的没有不知道的. window下执行cmd,输入adb help就会打印adb都可以做的事情,包含 adb push ..adb pull .. adb device ...
- linux-top命令查看内存CPU
转自:https://www.cnblogs.com/dragonsuc/p/5512797.html 查看多核CPU命令 mpstat -P ALL 和 sar -P ALL 说明:sar -P ...
- Android系统在超级终端下必会的命令大全(adb shell命令大全)
. 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...
随机推荐
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- sysfs文件系统学习--sysfs
一.sysfs简介1.sysfs就是利用VFS的接口去读写kobject的层次结构,建立起来的文件系统.其更新与删除是那些xxx_register()/unregister()做的事 情.从sysfs ...
- macOS -- 如何通过终端开启/关闭SSH
在macOS中(较新版),基本都会配置了SSH,能完成我们开发中绝大部分功能,所以不需要再去使用第三方的软件去操作. 不过SSH守护进程是默认禁用的,我们需要手动开启 1. 查看是否开始SSH功能 s ...
- socket编程---SCTP
sctp_sndrcvinfo结构体 sctp_event_subscribe结构体 更多的关于SCTP的结构体http://aisxyz.iteye.com/blog/2408978 SCTP套接字 ...
- unity里面查找所有物体
测试的时候发现一个很诡异的bug,在prefab里面的物体的属性居然不断的在变化,最后一步步调试才发现,区别是查找物体的api,特此记录下 两种api Canvas[] canvasArray = ( ...
- 【记录】MVC4中使用SignalR
前言 周末在偶尔翻阅微软官网的时候看到Getting Started with SignalR and MVC 4此篇文章,知道了signalr这个东西,貌似这个出来很长时间了,奈何自己一直没有发现, ...
- nc工具用法
http://man.linuxde.net/nc_netcat nc命令用法举例 什么是nc
- 20181124_webAPI基础01_创建一个基础的WebAPI项目
1. webApi属于RESTful架构风格, 而RESTful风格, 是以资源为视角来描述服务的 2. 创建webAPI项目 3. 选择webAPI, 然后mvc会自动引用 4. 点击确定, 就创建 ...
- ffmpeg重要的参考学习网址
http://lib.csdn.net/liveplay/knowledge/1586 FFmpeg滤镜使用指南 http://blog.csdn.net/fireroll/article/detai ...
- 给iOS开发新手送点福利,简述UITextField的属性和用法
UITextField属性 0. enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...