diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-12-08 16:20:26 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-12-08 17:33:56 -0800 |
commit | 063028aa682ca4ceec006c0879c09ad078c9d512 (patch) | |
tree | 82b004e1df0e2101b5462175c8136e3e9b97d271 | |
parent | ee7c30e1f9a40b6498f7aa374e71bb0bfc6482a3 (diff) | |
download | base-063028aa682ca4ceec006c0879c09ad078c9d512.tar.gz |
Add more -d dalvik details to dumpsys
Added .NonMoving for the non moving space.
Added .Zygote for the zygote.
Added .IndirectRef for indirect reference tables (jobjects).
Example:
Dalvik Details
.Heap 2264 2264 0 0
.LOS 80 80 0 0
.GC 144 144 0 0
.Zygote 331 196 0 2428
.NonMoving 540 540 0 0
.IndirectRef 20 20 0 0
Bug: 18672069
Change-Id: Id14e5bc92ceb15fe7a17d9fb035f18aa2925e50c
(cherry picked from commit 25c5e2b12d5d5d06739e3f70a0da968d97935b46)
-rw-r--r-- | core/java/android/os/Debug.java | 5 | ||||
-rw-r--r-- | core/jni/android_os_Debug.cpp | 15 |
2 files changed, 16 insertions, 4 deletions
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java index 18730b65a7dd..344dc91531f3 100644 --- a/core/java/android/os/Debug.java +++ b/core/java/android/os/Debug.java @@ -168,7 +168,7 @@ public final class Debug public static final int NUM_OTHER_STATS = 16; /** @hide */ - public static final int NUM_DVK_STATS = 5; + public static final int NUM_DVK_STATS = 8; /** @hide */ public static final int NUM_CATEGORIES = 7; @@ -313,6 +313,9 @@ public final class Debug case 18: return ".LinearAlloc"; case 19: return ".GC"; case 20: return ".JITCache"; + case 21: return ".Zygote"; + case 22: return ".NonMoving"; + case 23: return ".IndirectRef"; default: return "????"; } } diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp index db32272ea197..141138d619ee 100644 --- a/core/jni/android_os_Debug.cpp +++ b/core/jni/android_os_Debug.cpp @@ -68,6 +68,9 @@ enum { HEAP_DALVIK_LINEARALLOC, HEAP_DALVIK_ACCOUNTING, HEAP_DALVIK_CODE_CACHE, + HEAP_DALVIK_ZYGOTE, + HEAP_DALVIK_NON_MOVING, + HEAP_DALVIK_INDIRECT_REFERENCE_TABLE, _NUM_HEAP, _NUM_EXCLUSIVE_HEAP = HEAP_OTHER_MEMTRACK+1, @@ -271,15 +274,21 @@ static void read_mapinfo(FILE *fp, stats_t* stats) if (strstr(name, "/dev/ashmem/dalvik-LinearAlloc") == name) { subHeap = HEAP_DALVIK_LINEARALLOC; } else if ((strstr(name, "/dev/ashmem/dalvik-alloc space") == name) || - (strstr(name, "/dev/ashmem/dalvik-main space") == name) || - (strstr(name, "/dev/ashmem/dalvik-zygote space") == name) || - (strstr(name, "/dev/ashmem/dalvik-non moving space") == name)) { + (strstr(name, "/dev/ashmem/dalvik-main space") == name)) { // This is the regular Dalvik heap. whichHeap = HEAP_DALVIK; subHeap = HEAP_DALVIK_NORMAL; } else if (strstr(name, "/dev/ashmem/dalvik-large object space") == name) { whichHeap = HEAP_DALVIK; subHeap = HEAP_DALVIK_LARGE; + } else if (strstr(name, "/dev/ashmem/dalvik-non moving space") == name) { + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_NON_MOVING; + } else if (strstr(name, "/dev/ashmem/dalvik-zygote space") == name) { + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_ZYGOTE; + } else if (strstr(name, "/dev/ashmem/dalvik-indirect ref") == name) { + subHeap = HEAP_DALVIK_INDIRECT_REFERENCE_TABLE; } else if (strstr(name, "/dev/ashmem/dalvik-jit-code-cache") == name) { subHeap = HEAP_DALVIK_CODE_CACHE; } else { |