【问题标题】:query about "dumpsys meminfo" in android在android中查询“dumpsys meminfo”
【发布时间】:2013-07-29 02:37:51
【问题描述】:

当我在 android 4.2 上运行“adb shell dumpsys meminfo”时,我得到的结果类似于

                                 Shared  Private     Heap     Heap     Heap
               Pss    Dirty    Dirty     Size    Alloc     Free
            ------   ------   ------   ------   ------   ------
   Native       28        8       28    16404    12256     3663
   Dalvik    14062    10060    13736    20032    15254     4778
   Cursor        0        0        0                           
   Ashmem        0        0        0                           
Other dev     4762     9556        0                           
 .so mmap    11699     1824     1500                           
.jar mmap        0        0        0                           
.apk mmap      368        0        0                           
.ttf mmap      811        0        0                           
.dex mmap     3736        0        0                               
Other mmap      114       16       32                           
   Unknown    12064      544    12052                           
     TOTAL    47644    22008    27348    36436    27510     8441

看了How do I discover memory usage of my application in Android?的页面,还有几个问题:

  • 为什么原生Pss、shareddirty、privatedirty很小?
  • 堆大小应该小于 Pss?
  • 未知是什么意思?看起来很大。
  • 如果我想知道我的应用程序使用了多少内存,我应该使用哪些数据?总Pss?但它不包括接近于零的原生 Pss?

【问题讨论】:

    标签: android memory


    【解决方案1】:

    请参考问题How do I discover memory usage of my application in Android?。 我还希望您参考Detail VSS,RSS,PSS,USS 链接。用于特定应用的最合适的数据是 USS(唯一集大小)为

    USS 是进程的总私有内存,即该进程完全唯一的内存。 USS 是一个非常有用的数字,因为它表示运行特定进程的真正增量成本。当一个进程被杀死时,USS 是实际返回给系统的总内存。当最初怀疑进程中的内存泄漏时,USS 是最好的观察值。

    你可以通过adb shell procrank | grep <your.package.name>得到它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 2020-09-17
      • 1970-01-01
      • 2015-03-09
      • 2012-10-26
      • 1970-01-01
      • 2021-06-26
      相关资源
      最近更新 更多