adb 查看内存,cpu,流量

1.查看内存

adb shell dumpsys meminfo

查看某apk的内存

adb shell dumpsys meminfo 包名

或者adb shell dumpsys meminfo pid

比如:查看com.duowan.mobile

adb shell dumpsys meminfo com.duowan.mobile

另外还有一个命令

adb shell procrank

说到内存,不得不说下内存的各个参数:

VSS - Virtual Set Size虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间。

RSS - Resident Set Size实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库,尽管无论多少个进程使用,实际该共享库只会被装入内存一次。

PSS - Proportional Set Size实际使用的物理内存(比例分配共享库占用的内存)。

USS - Unique Set Size进程独自占用的物理内存(不包含共享库占用的内存)USS是一个非常非常有用的数字,因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止,USS就是实际被返还给系统的内存大小。USS是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加。

一般情况:VSS>= RSS >= PSS >= USS。

我们经常说的内存占用一般指的是PSS实际使用的物理内存.

2.查看cpu

adb shell top -m 10 -s cpu   //按照cpu排序,显示前10个

或者adb shell dumpsys cpuinfo

3.查看电池电量

adb shell dumpsys battery

4.查看某apk的流量:

首先先查出该apk的uid,ps一下找到应用的pid;

然后拿到pid后,查看uid,直接查看/proc/$pid/status这个文件下,存储了uid;

最后通过uid查看/proc/uid_stat/$uid/tcp_rcv 和/proc/uid_stat/$uid/tcp_snd,这两个文件一个是请求耗费的流量,一个是接受的数据流量。

如果想算速率,可以这么计算:先拿这两个参数,然后间隔10s,再拿这两个参数,两次参数之差再除以10s,就是这10s的平均速率。

你可能感兴趣的:(adb 查看内存,cpu,流量)