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 25c5e2b12d)
This commit is contained in:
Mathieu Chartier
2014-12-08 16:20:26 -08:00
parent ee7c30e1f9
commit 063028aa68
2 changed files with 16 additions and 4 deletions

View File

@@ -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 "????";
}
}

View File

@@ -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 {