精华内容
下载资源
问答
  • adb命令查看手机内存
    2021-01-17 13:01:06

    一、procrank

    VSS >= RSS >= PSS >= USS

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

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

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

    USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)USS 是一个非常非常有用的数字, 因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止, USS 就是实际被返还给系统的内存大小。

    USS 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加

    二、dumpsys meminfo(或者直接读取“/proc/meminfo”文件来获得内存信息--Linux系统)

    1、cat /proc/meminfo

    MemTotal: 所有可用RAM大小(即物理内存减去一些预留位和内核的二进制代码大小)。

    MemFree:被系统留着未使用的内存。

    Buffers: 用来给文件做缓冲的大小。

    Cached: 被高速缓冲存储器(cache memory)用的内存的大小(等于 diskcache minus SwapCache ).

    SwapCached:swap 缓存的大小,Android很少使用swap的,经常为0。被高速缓冲存储器(cache memory)用来交换空间的大小,用来在需要的时候很快的被替换而不需要再次打开I/O端口。

    Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要,否则不会被移作他用。

    Inactive: 在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径。

    SwapTotal: 交换空间的总大小。

    SwapFree: 未被使用交换空间的大小。

    2、dumpsys meminfo 进程pid或程序包名

    查询结果根据以下4类分类:

    8eb93e8f40da8277801e86d5b4714ddd.png

    OOM(out of memory)即内存泄露。一个程序中,已经不需要使用某个对象,但是因为仍然有引用指向它垃圾回收器就无法回收它,当该对象占用的内存无法被回收时,就容易造成内存泄露。

    Android的一个应用程序的内存泄露对别的应用程序影响不大,因为为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,也就是说每个应用程序都是在属于自己的进程中运行的。如果程序内存溢出,Android系统只会kill掉该进程,而不会影响其他进程的使用(如果是system_process等系统进程出问题的话,则会引起系统重启)。

    更多相关内容
  • 1. procrank //查看所有进程的内存占比,可以查看TOTAL 2. procrank | grep 包名 //查看特定进程内存占比 结果如下: procrank  PID Vss Rss Pss Uss cmdline  2260 1462560K 24324K 21570K 20932K ...
  • adb命令查看Android中内存使用情况

    千次阅读 2021-06-30 10:35:43
    adb是一个非常强大的工具,使用adb查看程序内存使用情况可按如下格式在命令行里查看内存使用情况: adb shell dumpsys meminfo <package_name> 1 2 其中package_name可以换成程序的pid,pid可以通过adb ...

    1、使用adb dumpsys命令

    adb是一个非常强大的工具,使用adb查看程序内存使用情况可按如下格式在命令行里查看内存使用情况:
    adb shell dumpsys meminfo <package_name> 
    
    • 1
    • 2

    其中package_name可以换成程序的pid,pid可以通过adb shell top -n 1或者adb shell ps来查找,下图是某个程序的内存使用情况:
    这里写图片描述
    重点关注如下几个字段:
    (1)Native/Dalvik 的Heap信息
    具体在上面的第一行和第二行,它分别给出的是JNI层和java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄露。
    (2)Total 的PSS信息
    这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占用内存比较大了。

    2、使用adb shell procrank

    手机中的sh是经过精简过的,有些手机可能没有 procrank 命令,可以使用genymotion模拟器,或是自己安装procrank命令。使用procrank时,命令行的输出入下图:
    这里写图片描述
    可以看到,在linux下表示内存的耗用情况有四种不同的表现形式:
    VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
    RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
    PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
    USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

    VSS:VSS表示一个进程可访问的全部内存地址空间的大小。这个大小包括了进程已经申请但尚未使用的内存空间。在实际中很少用这种方式来表示进程占用内存的情况,用它来表示单个进程的内存使用情况是不准确的。
    RSS:表示一个进程在RAM中实际使用的空间地址大小,包括了全部共享库占用的内存,这种表示进程占用内存的情况也是不准确的。
    PSS:表示一个进程在RAM中实际使用的空间地址大小,它按比例包含了共享库占用的内存。假如有3个进程使用同一个共享库,那么每个进程的PSS就包括了1/3大小的共享库内存。这种方式表示进程的内存使用情况较准确,但当只有一个进程使用共享库时,其情况和RSS一模一样。
    USS:表示一个进程本身占用的内存空间大小,不包含其它任何成分,这是表示进程内存大小的最好方式!
    可以看到:VSS>=RSS>=PSS>=USS

    3、使用studio内存分析工具

    前往简书查看

    4、其它常用命令:

    adb shell kill PIDNUMber 杀死你想杀死的后台进程,来模拟某种bug 的复现条件。
    adb shell ps 查看当前终端中的进程信息

    那么如何在代码中判断当前的硬件系统有多少的 RAM 呢?在 Framework ProcessList.java 中有如下代码可用:

    ProcessList() {  
       MemInfoReader minfo = new MemInfoReader();  
       minfo.readMemInfo();  
       mTotalMemMb = minfo.getTotalSize()/(1024*1024);  
    }

    查看进程占用cpu的情况:adb shell top -n 1 -d 0.5 | grep proc_ id

    展开全文
  • 使用adb命令查看手机cpu/内存等信息

    千次阅读 2020-12-20 06:25:21
    使用adb命令查看手机cpu/内存等信息前提本地电脑Windows已安装ADB工具、夜神模拟器连接手机这里用的夜神模拟器连接的使用adb命令连接手机:adb connect 127.0.0.1:62001备注:62001夜神模拟器默认端口显示已连接成功...

    使用adb命令查看手机cpu/内存等信息

    前提

    本地电脑Windows已安装ADB工具、夜神模拟器

    连接手机

    这里用的夜神模拟器连接的

    使用adb命令连接手机:adb connect 127.0.0.1:62001

    备注:62001夜神模拟器默认端口

    显示已连接成功了

    进入Android底层(服务器)

    命令:adb shell

    查看CPU使用情况

    输入命令:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序)

    参数含义:

    PID : 应用程序ID

    S : 进程的状态(S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数)

    #THR : 程序当前所用的线程数

    VSS : 虚拟耗用内存(包含共享库占用的内存)

    RSS : 实际使用物理内存(包含共享库占用的内存)

    PCY : 前台(fg)和后台(bg)进程

    UID : 用户身份ID

    Name : 应用程序名称

    查看指定程序内存使用情况

    根据进程ID或包名。命令:dumpsys meminfo [包名]或[PID]

    Uptime:表示启动到现在的时长,不包含休眠的时间,单位毫秒(ms)

    Realtime:表示启动到现在的时长,包含休眠的时间,单位毫秒(ms)

    Native Heap: 进程本身使用的内存

    Dalvik Heap : 虚拟机VM使用的内存

    Dalvik Other : 虚拟机VM之外的内存(比如Java的GC内存)

    Stack:应用中的原生堆栈和 Java 堆栈使用的内存

    Pss Total: 应用程序真实占用了物理内存的空间

    Heap Alloc : 程序虚拟已使用的内存

    Heap Size:程序堆的总内存

    Heap Free : 空闲的内存

    private dirty : 私用共享内存

    dumpsys 拓展

    显示CPU信息

    命令:dumpsys cpuinfo

    显示所有的activity信息

    命令:dumpsys activity

    显示指定应用程序的activity信息

    命令:dumpsys activity package [包名]

    显示wifi信息

    命令:dumpsys wifi

    显示所有的电池状态

    命令:dumpsys batterystats

    显示指定应用的电池状态

    命令:dumpsys batterystats [package name]

    以上命令均可在后加 -h 查看命令帮助

    本文地址:https://blog.csdn.net/lht3347/article/details/107173687

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • adb命令查看设备内存

    万次阅读 2020-03-20 17:50:53
    adb shellprocrank , 看ram 大概905M 也就是1G内存 VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - Proportional Set ...

    用power shell 比cmd 更好用

    输入命令:adb shell  procrank  

    或者用adb shell top

    看ram 大概905M 也就是1G内存

    VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
     RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
     PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
     USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)


    VSS:VSS表示一个进程可访问的全部内存地址空间的大小。这个大小包括了进程已经申请但尚未使用的内存空间。在实际中很少用这种方式来表示进程占用内存的情况,用它来表示单个进程的内存使用情况是不准确的。
    RSS:表示一个进程在RAM中实际使用的空间地址大小,包括了全部共享库占用的内存,这种表示进程占用内存的情况也是不准确的。
    PSS:表示一个进程在RAM中实际使用的空间地址大小,它按比例包含了共享库占用的内存。假如有3个进程使用同一个共享库,那么每个进程的PSS就包括了1/3大小的共享库内存。这种方式表示进程的内存使用情况较准确,但当只有一个进程使用共享库时,其情况和RSS一模一样。
    USS:表示一个进程本身占用的内存空间大小,不包含其它任何成分,这是表示进程内存大小的最好方式!
    可以看到:VSS>=RSS>=PSS>=USS

    查看单个app的内存使用情况

    adb shell dumpsys meminfo app的包名  ---------------如果这个app有多进程,统计起来会显示不全

    推荐下面这个

    dumpsys meminfo --package app的包名 可以看到app多进程的内存消耗,这个app包含2个进程 实际消耗应该是(50638+76563)/1024=124M

    例如dumpsys meminfo --package com.test.app

    更详细的说明请看:

    Android内存分析命令 - Gityuan博客 | 袁辉辉的技术博客

    展开全文
  • android adb查看手机内存使用情况

    千次阅读 2020-08-05 17:25:51
    1.查看设备节点内存adb shell df 2.查看磁盘内存和运行内存adb shell free 3.查看内存详细数据adb shell cat /proc/meminfo
  • 1 查看内存信息命令adb shell dumpsys meminfo输入命令:dumpsys meminfo pid,比如查看手机安装的360安全卫士,那么实际命令应该为:dumpsys meminfo 3253,如下图所示:参数含义:dalvik : dalvik使用的内存...
  • 通过 ADB 命令获取手机信息 ADB 常用查看命令 使用 -l 查看设备详细信息 查看机型 查看电池状况 查看分辨率 查看屏幕密度 查看显示屏参数 查看 android_id 查看 IMEI 查看 Android 系统版本 查看 IP 地址 查看 Mac ...
  • The adb command provides a way to gain useful information about a number of thesystems configuration areas.To determine the physical memory (RAM) :for HP-UX 10xexample:echo physmem/D | adb /stand/vmu....
  • adb 实时检测手机内存

    2020-11-27 11:26:42
    查看手机连接的设备 如果有多个设备,后面的命令加上 -s 设备id eg adb -s 设备id shell dumpsys meminfo 查看设备所有进程的内存信息 adb shell dumpsys meminfo 查看某一个进程的内存信息 adb shell dumpsys ...
  • 由于工作需要获取安卓手机游戏应用运行时的性能数据,上网学习了一些知识,整理记录下。... 获取内存数据(1)手机内存命令adb shell cat /proc/meminfo |findstr MemTotal执行:(2)运行内存① 基本内存...
  • 常用adb命令.docx

    2020-05-10 16:59:14
    常用的ADB命令总结,包括:连接设备,查看机型,查找包名,查看apk文件路径,文件传输,列出索引正在运行的程序,实时查看日志,安装卸载应用,获取内存/cpu信息、启动/停止应用和服务等等
  • adb shell top -m xx查看XX个进程数adb ... 获取CPU数据命令adb shelltop -n -1 | find "package信息"adb shell top -n 1|findstr "\ \" 才能加上列名信息执行:或者也可以这样,查看指定包的cpu使用情况adb shel...
  • Android 获取手机内存和可用内存信息,博客附adb方式 https://blog.csdn.net/qq_31939617/article/details/80272759
  • adb命令读取Android手机内存卡文件

    千次阅读 2019-11-28 15:17:06
    最近在跟一个厂家调试外设装备,这个机器的系统是Android的,但是他不能通过数据线连接电脑来传输手机存储中的文件,所以只能通过adb命令来取出内存卡中的文件,修改之后再用adb命令放回去。此文以mac电脑的地址为例...
  • adb命令获取手机信息

    千次阅读 2021-03-08 10:46:32
    1、获取手机系统信息( CPU,厂商名称等 adb shell "cat /system/build.prop | grep "product"" 2、获取手机系统版本 adb shell getprop ro.build.version.release   3、获取手机系统api版本 adb shell getprop ...
  • ADB——查看手机设备信息

    千次阅读 2021-09-07 18:01:38
    查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery ''' Current Battery Service state: AC powered: false USB powered: true Wireless powered: false ...
  • Android使用adb命令查看CPU信息

    千次阅读 2021-06-06 10:15:14
    使用ADB命令查看CPU信息命令如下:1.adb shell2.cat /proc/cpuinfo查看到的信息如下(注意一次只能连接一台设备):上面这款就是64位CPU的华为机型。上面这款就是32位的如果出现adb shell 不能打开的情况,需要将adb....
  • ADB命令手机安装apk文件

    千次阅读 2022-01-17 17:52:35
    ADB命令手机安装apk应用包和卸载手机已有的应用
  • ADB 查看手机内文件

    千次阅读 2021-11-29 06:06:02
    adb shell 进入手机内存 cd sdcard/DCIM/Camera [oliveryty@localhost ~]$ adb shell HWEML:/ $ cd sdcard/DCIM/Camera HWEML:/sdcard/DCIM/Camera $ ls
  • app的启动与停止启动app的命令adb shell am start -W -n packagename/activity(需启动的绝对路径)启动凤凰新闻的具体命令是:adb shell am start -W -n com.ifeng.news2/.activity.SplashActivity参考文章:...
  • adb简介,基础命令查看手机日志

    千次阅读 2020-11-28 22:56:41
    文章目录1.ADB介绍2.adb的基础命令3.adb logcat查看手机日志 1.ADB介绍 ADB是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机) 它的主要功能有: 运行设备的shell...
  • Android 常用 adb 命令

    2020-12-21 16:52:18
    更多文章:一、基础操作安装appadb install -r xxx.apk //覆盖安装,保留数据和缓存文件adb install -s xxx.apk //安装apk到sd卡adb install -f xxx.apk //安装apk到内部系统内存adb install -d xxx.apk //安装低...
  • 1. 查看设备 adb devices这个命令查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示2. 安装软件 adb install 软件包的名称这个命令将指定的apk文件安装到设备上 adb install 路径\app-weichi-...
  • adb常用命令

    2021-08-08 12:40:53
    1、查看adb版本: adb version 2、查看设备连接情况: 命令: adb devices //输出 List of devices attached ba709211 device 192.168.31.87:5555 device 释: -s 指定相应 serialNumber 号的设备/模拟器为命令...
  • 获取序列号:adb get-serialno查看连接计算机的设备:adb devices重启机器:adb reboot重启到bootloader,即刷机模式:adb reboot bootloader重启到recovery,即恢复模式:adb reboot recovery查看log:adb logcat...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,565
精华内容 5,026
关键字:

adb命令查看手机内存