在android中查询“dumpsys meminfo”
Posted
技术标签:
【中文标题】在android中查询“dumpsys meminfo”【英文标题】:query about "dumpsys meminfo" in android 【发布时间】: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?【问题讨论】:
【参考方案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>
得到它
【讨论】:
以上是关于在android中查询“dumpsys meminfo”的主要内容,如果未能解决你的问题,请参考以下文章