大约QUOT查询; dumpsys meminfo的"在android系统 [英] query about "dumpsys meminfo" in android

查看:201
本文介绍了大约QUOT查询; dumpsys meminfo的"在android系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我运行亚行外壳dumpsys meminfo的在Android 4.2中,我得到这样

结果

 共享私有堆堆堆
               PSS脏脏的Alloc大小免费
            ------ ------ ------ ------ ------ ------
   原生28 8 28 16404 12256 3663
   Dalvik的14062 10060 13736 20032 15254 4778
   光标0 0 0
   Ashmem 0 0 0
其他开发4762 9556 0
 。所以mmap的11699 1824 1500
MMAP的.jar 0 0 0
.apk文件MMAP 368 0 0
.TTF mmap的811 0 0
.dex MMAP 3736 0 0
其他MMAP 114 16 32
   未知12064 544 12052
     总计47644 22008 27348 36436 27510 8441


我已阅读的页面<一个href=\"http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android/\">How发现在我的Andr​​oid应用程序的内存使用量,但仍然有几个问题:


  • 为什么本地PSS的,共享的脏脏的私人很小?

  • 堆大小应小于PSS的更小?

  • 是什么未知是什么意思?似乎很大。

  • 如果我想知道我的应用程序使用的内存,我应该使用哪些数据?总PSS的?但它不包括天然PSS的是nealy为零?


解决方案

请参阅问题<一href=\"http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android\">How发现在我的Andr​​oid应用程序的内存使用情况。
我也想你指详细VSS,RSS,PSS,USS 链接。最合适的数据,以用于特定的应用程序是
USS(一套独特的尺寸)为


  

USS是总的专用内存的过程,即该内存是完全独有的进程。号是一个非常有用的数目,因为它表明运行的特定过程的真实增量成本。当一个进程被杀死,则USS是实际返回到系统内存总量。 USS是最好的数字看,当最初在处理可疑的内存泄漏。


您可以通过亚行外壳procrank得到| grep的&LT; your.package.name&GT;

When I run "adb shell dumpsys meminfo" on android 4.2, I get the result like

                                 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

I have read the page of How to discover memory usage of my application in Android, but still have several questions:

  • Why the native Pss, shared dirty private dirty is very small?
  • the heap size should be smaller than Pss?
  • What does Unknown mean? Seems very big.
  • If I want to know how much memory my app uses, which data should I use? The Total Pss? But it doesn't include the native Pss which is nealy zero?

解决方案

Please refer to the question How to discover memory usage of my application in Android. I would also like you to refer to Detail VSS,RSS,PSS,USS link. The most appropriate data to use for a particular app is USS (Unique Set Size ) as

USS is the total private memory for a process, i.e. that memory that is completely unique to that process . USS is an extremely useful number because it indicates the true incremental cost of running a particular process. When a process is killed, the USS is the total memory that is actually returned to the system. USS is the best number to watch when initially suspicious of memory leaks in a process.

which you can get by adb shell procrank | grep <your.package.name>

这篇关于大约QUOT查询; dumpsys meminfo的&QUOT;在android系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆