Android CPU使用率内存

adb shell top

android 升级到3.0以后自带的检测内存工具Android Profiler(View|Tool Windows)配置起来有点麻烦(File | Settings | Build, Execution, Deployment | Debugger --->勾上Android Debug Bridge(adb) 下面的Use libusb backend),而且Profiler只能用于Android5.0以上的设备,所以还是使用android系统自带的top进行内存的检测吧.
top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.
使用:
一)top -h 帮助
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [-t ] [ -h ]

-m num  Maximum number of processes to display. 最多显示多少个进程
-n num  Updates to show before exiting.  刷新次数
-d num  Seconds towait between updates. 刷新间隔时间(默认5秒)
-s col  Column tosort by (cpu,vss,rss,thr). 按哪列排序
-t      Show threads instead of processes. 显示线程信息而不是进程
-h      Display this help screen.  显示帮助文档

二)结果:
第一组数据的含义:User 处于用户态的运行时间,不包含优先值为负进程 Nice 优先值为负的进程所占用的CPU时间 Sys 处于核心态的运行时间 Idle 除IO等待时间以外的其它等待时间 IOW IO等待时间 IRQ 硬中断时间 SIRQ 软中断时间
第二组数据的含义:
PID  进程idPR    优先级CPU
%  当前瞬时CPU占用率
S    进程状态:D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程
#THR  程序当前所用的线程数
VSS  Virtual Set Size  虚拟耗用内存(包含共享库占用的内存)
RSS  Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PCY  调度策略优先级,SP_BACKGROUND/SP_FOREGROUND
UID  进程所有者的用户id
Name  进程的名称
具体信息可以查看源代码中: xx\system\core\toolbox\top.c

三)常用指令:
1)top指令查看进程资源:root@msm8610:/ #top
2)每隔 3s 更新一次显示:root@msm8610:/ #top -d 3
3)按cpu大小列出5个进程列表::root@msm8610:/ #top -m 5
4)根据进程的名字使用 grep 指令过滤输出 "com.hcb.parking" 进程的信息(图中实际上是每隔 1s 输出一次信息):
root@msm8610:/ #top -d 1 | grep "com.hcb.parking"
5)查看"com.hcb.parking" 应用(或者说"com.hcb.parking" 进程)中所有线程的CPU等信息:
root@msm8610:/ #top -d 1 -t | grep "com.hcb.parking"
6)每间隔 3s 将 "com.hcb.parking" 进程的CPU 信息保存到文件:
root@msm8610:/ #top -d 3 | grep "com.hcb.parking" > /data/topinfo.txt &
7)从android设备中将上一步保存的 topinfo.txt 日志信息复制出来(该命令是在退出adb shell 之后执行的):
omj@pc-ubuntu:~/work$ adb pull /data/topinfo.txt

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容