android调试之top指令查看系统资源

近日,由于客户自己开发的应用软件在我们定制的android设备(定制OS)上运行的时候出现了黑屏重启问题,在确定问题之前,我们需要对客户反馈的bug现象进行复现。由于刚开始时对客户的软件功能等信息了解不多,测试的时候很难复现bug现象,在一次测试打印机的打印功能的时候,无意中发现打印机连续打印的时候容易造成CPU资源消耗过大,甚至因此导致系统重启(软件无反应,5s后看门狗重启系统)。为了有效地排除CPU资源消耗问题,对top指令进行了研究,本文不会面面俱到地谈top指令各种参数的使用,而是选择部分比较实用的参数来谈谈调试的一些技巧。
在 ubuntu 系统输入top -h,可以看到 top 的使用方法。
omj@pc-ubuntu:~$ top -h
procps-ng version 3.3.9
Usage:
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

这里我们主要是谈 top 指令在 android 系统下的使用,所以首先要用 usb 线连接PC和设备,然后进入android设备的 shell,查看 top 指令的相关用法。

查看android设备是否被PC机识别:
omj@pc-ubuntu:~$ adb devices
List of devices attached
d111a8ac device

进入android设备的shell:
omj@pc-ubuntu:~$ adb shell
root@msm8610:/ #
查看 top 指令的帮助菜单:
root@msm8610:/ # top -h


从帮助菜单可以看出,PC级别的系统的 top 指令和 android 设备的 top 指令的使用方法还是有点区别的。

top指令查看进程资源:
root@msm8610:/ # top

每隔 3s 更新一次显示:
root@msm8610:/ # top -d 3

按cpu大小列出5个进程列表:
root@msm8610:/ # top -m 5


根据进程的名字使用 grep 指令过滤输出 "com.hcb.parking" 进程的信息(图中实际上是每隔 1s 输出一次信息):
root@msm8610:/ # top -d 1 | grep "com.hcb.parking"



查看"com.hcb.parking" 应用(或者说"com.hcb.parking" 进程)中所有线程的CPU等信息:
root@msm8610:/ # top -d 1 -t | grep "com.hcb.parking"


每间隔 3s 将 "com.hcb.parking" 进程的CPU 信息保存到文件:
root@msm8610:/ # top -d 3 | grep "com.hcb.parking" > /data/topinfo.txt &

从android设备中将上一步保存的 topinfo.txt 日志信息复制出来(该命令是在退出adb shell 之后执行的):
omj@pc-ubuntu:~/work$ adb pull /data/topinfo.txt .





















  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值