apk_operations.py mem-usage should also use "showmap" command |
||||
Issue description
Currently "mem-usage" just calls "dumpsys meminfo", which shows:
Applications Memory Usage (in Kilobytes):
Uptime: 3878390728 Realtime: 3977902010
** MEMINFO in pid 21051 [org.chromium.chrome] **
Pss Private Private SwapPss Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 9847 9768 0 103 0 0 0
Dalvik Heap 1137 1112 0 161 0 0 0
Dalvik Other 634 632 0 7
Stack 312 312 0 0
Ashmem 154 128 0 0
Gfx dev 1462 428 0 0
Other dev 88 80 8 0
.so mmap 8788 500 6056 128
.apk mmap 11555 2024 6884 0
.ttf mmap 200 0 200 0
.dex mmap 6156 4 3804 0
.oat mmap 4841 0 2888 0
.art mmap 2223 584 236 12
Other mmap 281 4 192 0
EGL mtrack 25920 25920 0 0
GL mtrack 4244 4244 0 0
Unknown 631 628 0 6
TOTAL 78890 46368 20268 417 0 0 0
App Summary
Pss(KB)
------
Java Heap: 1932
Native Heap: 9768
Code: 22360
Stack: 312
Graphics: 30592
Private Other: 1672
System: 12254
TOTAL: 78890 TOTAL SWAP PSS: 417
Note: "App Summary" was added for Android M, and the list of rows in the top section differs by android version.
For even more info, we could dump the smaps for each process via "adb showmap" (requires root):
adb -s 00bf87787f703ca2 shell su 0 showmap -t 21051
virtual shared shared private private
size RSS PSS clean dirty clean dirty swap swapPSS # object
-------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------
62120 15188 12462 5024 0 8140 2024 0 0 13 /data/app/org.chromium.chrome-jMFVPExnIkUl2Heu-RWfNg==/base.apk
316 312 210 204 0 104 4 0 0 4 /data/app/org.chromium.chrome-jMFVPExnIkUl2Heu-RWfNg==/oat/arm/base.odex
252 236 98 180 16 0 40 0 0 2 /data/dalvik-cache/arm/system@framework@boot-conscrypt.art
632 584 166 456 80 0 48 4 1 2 /data/dalvik-cache/arm/system@framework@boot-core-libart.art
4704 4052 1505 3260 232 236 324 56 11 2 /data/dalvik-cache/arm/system@framework@boot-framework.art
136 136 77 88 4 0 44 0 0 2 /data/dalvik-cache/arm/system@framework@boot-okhttp.art
1736 1600 479 1336 132 0 132 16 3 2 /data/dalvik-cache/arm/system@framework@boot.art
1028 12 12 0 0 0 12 0 0 3 /dev/ashmem/dalvik-Jit thread pool worker thread 0 (deleted)
896 500 498 0 4 0 496 44 8 7 /dev/ashmem/dalvik-LinearAlloc (deleted)
1016 4 4 0 0 0 4 0 0 1 /dev/ashmem/dalvik-allocspace non moving space mark-bitmap 1 (deleted)
4100 28 28 0 0 0 28 0 0 1 /dev/ashmem/dalvik-card table (deleted)
32768 12 12 0 0 0 12 0 0 1 /dev/ashmem/dalvik-data-code-cache (deleted)
1776 76 72 0 4 0 72 0 0 24 /dev/ashmem/dalvik-indirect ref table (deleted)
32768 12 12 0 0 0 12 0 0 1 /dev/ashmem/dalvik-jit-code-cache (deleted)
128 8 8 0 0 0 8 0 0 1 /dev/ashmem/dalvik-large marked objects (deleted)
1172 40 33 0 8 0 32 844 159 24 /dev/ashmem/dalvik-large object space allocation (deleted)
8196 4 4 0 0 0 4 0 0 1 /dev/ashmem/dalvik-live stack (deleted)
1048576 1256 1256 0 0 0 1256 0 0 9 /dev/ashmem/dalvik-main space (region space) (deleted)
4 4 4 0 0 0 4 0 0 1 /dev/ashmem/dalvik-mod union bitmap (deleted)
64960 44 44 0 0 0 44 0 0 4 /dev/ashmem/dalvik-non moving space (deleted)
16384 8 8 0 0 0 8 0 0 1 /dev/ashmem/dalvik-region space live bitmap (deleted)
576 384 288 0 120 0 264 192 38 1 /dev/ashmem/dalvik-zygote space (deleted)
128 128 128 0 0 0 128 0 0 1 /dev/ashmem/shared_memory/96A4C74CDBCDCCB3764244EEE9C7C936 (deleted)
5904 2496 1462 0 2068 0 428 0 0 79 /dev/kgsl-3d0
4096 140 140 0 0 0 140 0 0 1 /dev/zero (deleted)
556 208 49 196 8 0 4 0 0 3 /system/bin/linker
116 52 49 4 0 40 8 4 0 3 /system/lib/android.hardware.graphics.mapper@2.0.so
120 80 40 60 8 8 4 0 0 4 /system/lib/libEGL.so
40 28 17 20 0 4 4 4 0 3 /system/lib/libGLESv1_CM.so
1320 464 202 312 28 108 16 20 3 4 /system/lib/libandroid_runtime.so
260 136 41 112 8 12 4 0 0 3 /system/lib/libandroidfw.so
4448 2028 426 1964 28 28 8 4 0 4 /system/lib/libart.so
420 204 61 176 24 0 4 8 1 3 /system/lib/libbinder.so
580 184 47 168 12 0 4 4 0 4 /system/lib/libc++.so
588 440 91 400 16 16 8 0 0 3 /system/lib/libc.so
696 412 189 368 40 0 4 0 0 4 /system/lib/libcrypto.so
60 52 12 44 4 0 4 0 0 3 /system/lib/libcutils.so
480 176 173 4 0 164 8 4 0 4 /system/lib/libft2.so
432 160 151 16 0 108 36 8 1 3 /system/lib/libgui.so
484 248 245 4 0 236 8 0 0 4 /system/lib/libharfbuzz_ng.so
340 120 52 100 16 0 4 0 0 4 /system/lib/libhidltransport.so
124 68 28 60 4 0 4 4 0 3 /system/lib/libhwbinder.so
652 424 421 4 0 396 24 0 0 3 /system/lib/libhwui.so
136 36 33 4 0 28 4 16 2 3 /system/lib/libinput.so
208 104 24 96 4 0 4 0 0 4 /system/lib/libjavacore.so
80 68 15 60 4 0 4 0 0 3 /system/lib/liblog.so
136 80 46 48 4 24 4 0 0 3 /system/lib/libm.so
32 24 18 12 0 4 8 0 0 3 /system/lib/libmemalloc.so
132 28 25 4 0 20 4 4 0 4 /system/lib/libmemunreachable.so
120 76 73 4 0 64 8 0 0 4 /system/lib/libminikin.so
32 32 7 24 4 0 4 0 0 3 /system/lib/libnativehelper.so
32 28 10 20 4 0 4 0 0 3 /system/lib/libnativeloader.so
164 72 18 64 4 0 4 0 0 4 /system/lib/libopenjdk.so
148 20 17 4 0 12 4 4 0 4 /system/lib/libpng.so
36 28 9 20 4 0 4 0 0 4 /system/lib/libprocessgroup.so
20 12 10 4 0 0 8 0 0 3 /system/lib/libqdMetaData.so
48 28 18 20 0 0 8 0 0 4 /system/lib/libqdutils.so
40 36 24 24 0 0 12 0 0 3 /system/lib/libqservice.so
5496 768 765 4 0 688 76 76 15 4 /system/lib/libskia.so
192 132 68 120 8 0 4 0 0 4 /system/lib/libssl.so
108 80 69 20 0 52 8 0 0 3 /system/lib/libui.so
96 84 19 76 4 0 4 0 0 4 /system/lib/libutils.so
848 120 39 108 8 0 4 0 0 4 /system/lib/libvixl-arm.so
20 16 8 8 4 0 4 0 0 3 /system/lib/libvndksupport.so
100 28 9 20 4 0 4 0 0 4 /system/lib/libvulkan.so
60 44 32 20 4 16 4 0 0 4 /vendor/lib/egl/eglSubDriverAndroid.so
76 40 22 32 4 0 4 0 0 3 /vendor/lib/egl/libEGL_adreno.so
2436 1256 812 848 40 352 16 24 4 3 /vendor/lib/egl/libGLESv2_adreno.so
44 32 30 4 0 20 8 0 0 4 /vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl.so
56 52 40 24 0 20 8 0 0 3 /vendor/lib/hw/gralloc.msm8992.so
36 24 14 16 4 0 4 0 0 3 /vendor/lib/libadreno_utils.so
1028 88 46 80 4 0 4 0 0 3 /vendor/lib/libgsl.so
9128 3812 3734 152 4 3544 112 40 7 3 /vendor/lib/libllvm-glnext.so
3392 484 435 0 52 0 432 52 9 37 [anon:.bss]
8 8 8 0 0 0 8 0 0 2 [anon:arc4random data]
16 4 4 0 0 0 4 12 0 4 [anon:atexit handlers]
372 12 12 0 0 0 12 4 0 31 [anon:bionic TLS]
17408 10040 9804 0 300 0 9740 624 124 20 [anon:libc_malloc]
204 164 103 0 72 0 92 40 0 45 [anon:linker_alloc]
40 40 40 0 0 0 40 0 0 10 [anon:linker_alloc_small_objects]
28 24 24 0 0 0 24 4 0 7 [anon:linker_alloc_vector]
102816 20 16 0 4 0 16 4 0 29 [anon]
1004 4 4 0 0 0 4 0 0 1 [stack:21057]
1004 4 4 0 0 0 4 0 0 1 [stack:21058]
1036 4 4 0 0 0 4 0 0 1 [stack:21059]
1036 8 8 0 0 0 8 0 0 1 [stack:21060]
1036 8 8 0 0 0 8 0 0 1 [stack:21062]
1036 8 8 0 0 0 8 0 0 1 [stack:21063]
1004 8 8 0 0 0 8 0 0 1 [stack:21064]
1004 8 8 0 0 0 8 0 0 1 [stack:21065]
1004 16 16 0 0 0 16 0 0 1 [stack:21066]
1036 8 8 0 0 0 8 0 0 1 [stack:21069]
1036 8 8 0 0 0 8 0 0 1 [stack:21070]
1004 40 40 0 0 0 40 0 0 1 [stack:21084]
1036 4 4 0 0 0 4 0 0 1 [stack:21086]
1008 4 4 0 0 0 4 0 0 1 [stack:21087]
1004 4 4 0 0 0 4 0 0 1 [stack:21088]
1036 12 12 0 0 0 12 0 0 1 [stack:21090]
1008 8 8 0 0 0 8 0 0 1 [stack:21108]
1008 8 8 0 0 0 8 0 0 1 [stack:21110]
1004 16 16 0 0 0 16 0 0 1 [stack:21111]
1008 8 8 0 0 0 8 0 0 1 [stack:21112]
1008 8 8 0 0 0 8 0 0 1 [stack:21113]
1008 8 8 0 0 0 8 0 0 1 [stack:21114]
1008 8 8 0 0 0 8 0 0 1 [stack:21117]
1004 8 8 0 0 0 8 0 0 1 [stack:21118]
1008 12 12 0 0 0 12 0 0 1 [stack:21119]
1008 12 12 0 0 0 12 0 0 1 [stack:21120]
1004 12 12 0 0 0 12 0 0 1 [stack:21190]
1004 8 8 0 0 0 8 0 0 1 [stack:21198]
1004 8 8 0 0 0 8 0 0 1 [stack:21209]
8188 40 40 0 0 0 40 0 0 1 [stack]
-------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------
virtual shared shared private private
size RSS PSS clean dirty clean dirty swap swapPSS # object
-------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------
1763856 85168 51813 42944 3756 21716 16752 3504 508 1721 TOTAL
* Probably want to show this behind a flag (--smaps)
* Maybe show rows with PSS > 100kb even for non --smaps?
,
Jan 11
Available, but no owner or component? Please find a component, as no one will ever find this without one.
,
Jan 14
,
Jan 14
|
||||
►
Sign in to add a comment |
||||
Comment 1 by agrieve@chromium.org
, Dec 21