精华内容
下载资源
问答
  • adb查看内存占用

    千次阅读 2018-04-25 11:13:14
    1. 在IDE中查看Log信息当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:D/dalvikvm: <GC_Reason> <Amount_freed>, <Heap_stats>, <External_memory_...
    1. 在IDE中查看Log信息
    当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:
    D/dalvikvm: <GC_Reason> <Amount_freed>, <Heap_stats>, <External_memory_stats>, <Pause_time>

    GC_Reason表示导致垃圾回收的原因以及当前的回收类型,包括以下几类:
        GC_CONCURRENT:当堆中对象数量达到一定是触发的垃圾收集
        GC_FOR_MALLOC:在内存已满的情况下分配内存,此时系统会暂停程序并回收内存
        GC_HPROF_DUMP_HEAP:创建FPFOR文件来分析Heap时所造成的垃圾收集
        GC_EXPLICIT: 程序调用了垃圾收集函数System.gc

        GC_EXTERNAL_ALLOC: 出现在API 10及以下,为外部分配内存(native memory or NIO buffer)所造成的垃圾回收,高版本全部分配在Dalvik Heap中。

    Amount_freed 表示此次回收的内存

    Heap_stats 表示空闲内存百分比和存活对象大小/堆的总大小

    External_memory_stats 表示API 10及以下的外部分配内存,已分配内存/导致垃圾回收的界限

    Pause_time 暂停时间,一个表示开始回收垃圾的时间,另一个表示回收结束的暂停时间

    D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/5261K, paused 2ms+2ms
    注意这条信息中的 “ 3571K/9991K” 值,这代表着程序使用的heap大小。


    2.使用DDMS
    Eclipse中的DDMS提供了一个观察内存使用情况的GUI,当我们不断点击Cause GC时,就会看到当前程序的Heap,使用比较方便,具体用法可以Google一下。


    3.使用adb dumpsys 命令
    adb是一个非常强大的工具,使用adb查看应用程序内存使用情况可按如下格式在命令行里查看内存使用情况:
    adb shell dumpsys meminfo <package_name>
    其中,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep app_name 来查找,下图是某个程序的内存使用情况:

    重点关注如下几个字段:
    (1) Native/Dalvik 的 Heap 信息
    具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。

    (2) Total 的 PSS 信息
    这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。


    4. 使用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


    5.其它常用命令命令:
    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



    或者

    展开全文
  • meminfo: basic memory status-adb shell cat proc/meminfo -- 内存系统信息-adb shell cat proc/pid/maps -- 指定进程内存地址映射-adb shell cat proc/pid/smaps -- 指定进程内存详细使用信息 procrank info: all...

    meminfo: basic memory status
    -adb shell cat proc/meminfo  -- 内存系统信息
    -adb shell cat proc/pid/maps --  指定进程内存地址映射
    -adb shell cat proc/pid/smaps -- 指定进程内存详细使用信息

    procrank info: all process memory status
    -adb shell procrank   -- VSS. RSS. PSS. USS 信息
    -adb shell procmem pid  --  指定进程VSS. RSS. PSS. USS 详细信息
    -adb shell dumpsys meminfo  --  内存系统详细信息
    -adb shell dumpsys meminfo pid

    转载于:https://www.cnblogs.com/onelikeone/p/9877424.html

    展开全文
  • 问题 : 运行adb命令报错error: more ...今天想通过adb命令查看一下应用的内存使用情况,使用命令:adb shell dumpsys meminfo。结果报错。 E:\Software\andriod_eclipse\sdk\platform-tools>adb shell dumpsys mem

    问题 :

    运行adb命令报错error: more than one device and emulator

    事情:

    今天想通过adb命令查看一下应用的内存使用情况,使用命令:adb shell dumpsys meminfo。结果报错。


    E:\Software\andriod_eclipse\sdk\platform-tools>adb shell dumpsys meminfo
    error: more than one device and emulator

    错误的原因很显然,有多个设备或者模拟器存在。因为我的手机插在电脑上,所以我立即拔掉运行命令,果然正常。不甘心啊,看看还有别的办法么,百度了一下,果真有啊!可参考(http://blog.sina.com.cn/s/blog_7ffb8dd50100wvrb.html)指定设备运行。

    解决方案:

               1.kill一个设备

    2.指定设备运行

    E:\Software\andriod_eclipse\sdk\platform-tools>adb-s emulator-5554 shell dumpsys meminfo



    展开全文
  • 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 df

    2.查看磁盘内存和运行内存:adb shell free

    3.查看内存详细数据adb shell cat /proc/meminfo

    MemTotal: 所有可用RAM大小(即物理内存减去一些预留位和内核的二进制代码大小)
     
    MemFree: LowFree与HighFree的总和,被系统留着未使用的内存
     
    Buffers: 用来给文件做缓冲大小
     
    Cached: 被高速缓冲存储器(cache memory)用的内存的大小(等于 diskcache minus SwapCache ).
     
    SwapCached:被高速缓冲存储器(cache memory)用的交换空间的大小,已经被交换出来的内存,但仍然被存放在swapfile                    中。用来在需要的时候很快的被替换而不需要再次打开I/O端口。
     
    Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用.
     
    Inactive: 在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径.
     
    HighTotal:
     
    HighFree: 该区域不是直接映射到内核空间。内核必须使用不同的手法使用该段内存。
     
    LowTotal:
     
    LowFree: 低位可以达到高位内存一样的作用,而且它还能够被内核用来记录一些自己的数据结构。Among many
     
         other things, it is where everything from the Slab is allocated. Bad things happen when you’re out      of lowmem.
     
    SwapTotal: 交换空间的总大小
     
    SwapFree: 未被使用交换空间的大小
     
    Dirty: 等待被写回到磁盘的内存大小。
     
    Writeback: 正在被写回到磁盘的内存大小。
     
    AnonPages:未映射页的内存大小
     
    Mapped: 设备和文件等映射的大小。
     
    Slab: 内核数据结构缓存的大小,可以减少申请和释放内存带来的消耗。
     
    SReclaimable:可收回Slab的大小
     
    SUnreclaim:不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)
     
    PageTables:管理内存分页页面的索引表的大小。
     
    NFS_Unstable:不稳定页表的大小
     
    VmallocTotal: 可以vmalloc虚拟内存大小
     
    VmallocUsed: 已经被使用的虚拟内存大小。
     
    VmallocChunk: largest contigious block of vmalloc area which is free

     

    展开全文
  • ADB查看设备内存情况

    千次阅读 2017-02-21 11:33:22
    设备连接电脑 打开终端 进入设备 adb shell 查看内存使用情况 cat /proc/meminfo
  • 查看连接的设备 adb devices 查看运行的进程 adb shell ps adb -s 设备号 shell ps 查看应用运行情况 adb shell dumpsys meminfo 包名 adb -s 设备号 shell dumpsys meminfo 包名 ...
  • adb dumpsys 查看内存

    2015-03-06 17:13:54
    android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于... 用以下命令可以查看程序的内存使用情况:  adb shell dump
  • adb shell 查看内存信息

    2019-10-03 19:51:19
    1.根据包名来查看指定的APP指定数据adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数据没有参数名,可以参考这个命令来看:adb shell top -m 5 其中vss是虚拟耗用内存,rss实际使用物理内存 2.把...
  • 前言先让我们看一下这条代码的效果: watch -n 1 -d adb shell...adb shell dumpsys meminfo com.libin.factory这个命令相信大家都不陌生,就是查看内存信息,那这会你应该明白我们的效果通过什么来实现的了吧,那就是w
  • 一个月不发布新文章了,因为手里有点事情耽误了写作,侧面也可以反应我很懒,特别特别懒那种,现在跟大家分享一个技巧,可以查看手机应用的内存占比。 命令: adb shell dumpsys meminfo -a 包名(比如...
  • adb shell dumpsys 命令查看内存

    千次阅读 2018-11-27 09:54:08
    用以下命令可以查看程序的内存使用情况: adb shell dumpsys meminfo $package_name or $pid 此外adb shell dumpsys命令还可以用来查看系统服务信息,使用下面命令可以输出系统当前支持的服务: adb shell ...
  • 使用adb查看CPU和内存

    2018-08-30 14:43:00
    adb shell ->... abd shell –>cat /proc/cpuinfo 获取CPU信息 adb shell ->cat /proc/meminfo 查看当前内存占用 adb shell -> cat /proc/iomem 查看IO内存分区adb shell top 查看设备...
  • adb dumpsys 查看手机内存

    千次阅读 2017-02-06 18:58:32
    adb是一个非常强大的工具,使用adb查看应用程序内存使用情况可按如下格式在命令行里查看内存使用情况: adb shell dumpsys meminfo  其中,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep ...
  • adb命令查看设备内存

    千次阅读 2020-03-20 17:50:53
    adb shellprocrank , 看ram 大概905M 也就是1G内存 VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - Proportional Set ...
  • -adb shell cat proc/meminfo – 内存系统信息 -adb shell cat proc/pid/maps – 指定进程内存地址映射 -adb shell cat proc/pid/smaps – 指定进程内存详细使用信息 ?procrank info: all process memory status -...
  • 1. procrank //查看所有进程的内存占比,可以查看TOTAL 2. procrank | grep 包名 //查看特定进程内存占比 结果如下: procrank  PID Vss Rss Pss Uss cmdline  2260 1462560K 24324K 21570K 20932K ...
  • adb常用查看内存信息的命令

    万次阅读 2014-12-01 21:06:20
    -adb shell cat proc/meminfo -- 内存系统信息 -adb shell cat proc/pid/maps -- 指定进程内存地址映射 -adb shell cat proc/pid/smaps -- 指定进程内存详细使用信息 ?procrank info: all process memory sta
  • 查看内存adb

    2015-08-21 00:47:49
    1.adb shell dumpsys meminfo
  • adb命令--之查看内存占用大小

    千次阅读 2015-07-13 17:05:00
    adb 命令查看内存使用情况
  • android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于...用以下命令可以查看程序的内存使用情况: adb shell dumps...
  • adb命令查看Android中内存使用情况

    千次阅读 2017-11-14 11:21:33
    1、使用adb dumpsys命令adb是一个非常强大的工具,使用adb查看程序内存使用情况可按如下格式在命令行里查看内存使用情况: adb shell dumpsys meminfo <package_name> 其中package_name可以换成程序的pid,pid可以...
  • adb shell top 查看内存和cpu

    千次阅读 2016-12-03 10:16:08
    adb shell top top命令提供了实时的对系统处理器的状态...内存使用和执行时间对任务进行排序. top 用法 >adb shell top -h Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [-t
  • adb Android中如何查看内存

    千次阅读 2014-02-27 10:56:42
    adb shell getprop adb logcat >>
  • 使用adb查看app占用内存情况

    千次阅读 2016-03-17 18:28:59
    1.adb shell 2.echo 3>/proc/system/drop_caches 清除一下系统cache 3..top -d 1 | grep com.kaolafm.fmradio  每一秒打印一次内存使用情况。

空空如也

空空如也

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

adb查看内存