diff options
| author | 2017-10-13 07:35:04 +0000 | |
|---|---|---|
| committer | 2017-10-13 07:35:04 +0000 | |
| commit | 7528452f57c85c29aac55b281bdda65a7af55aee (patch) | |
| tree | d5bbbefacb0c959322fb594263cef8f228e3bcd3 | |
| parent | c623db3d9816d084b10993429636c20cfd78c4ee (diff) | |
| parent | 20fb01eb23934ea702efe94fc7db0242b5c976e2 (diff) | |
Merge "Incorporate slab reclaimable into meminfo" into oc-mr1-dev
am: 20fb01eb23
Change-Id: Ia6afee63376c98552c3a5a0ee249fa751c3d3603
| -rw-r--r-- | core/java/android/os/Debug.java | 20 | ||||
| -rw-r--r-- | core/java/com/android/internal/util/MemInfoReader.java | 4 | ||||
| -rw-r--r-- | core/jni/android_os_Debug.cpp | 8 |
3 files changed, 21 insertions, 11 deletions
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java index b46c6b1620b1..017c2134f288 100644 --- a/core/java/android/os/Debug.java +++ b/core/java/android/os/Debug.java @@ -1748,22 +1748,26 @@ public final class Debug public static final int MEMINFO_SHMEM = 4; /** @hide */ public static final int MEMINFO_SLAB = 5; + /** @hide */ + public static final int MEMINFO_SLAB_RECLAIMABLE = 6; + /** @hide */ + public static final int MEMINFO_SLAB_UNRECLAIMABLE = 7; /** @hide */ - public static final int MEMINFO_SWAP_TOTAL = 6; + public static final int MEMINFO_SWAP_TOTAL = 8; /** @hide */ - public static final int MEMINFO_SWAP_FREE = 7; + public static final int MEMINFO_SWAP_FREE = 9; /** @hide */ - public static final int MEMINFO_ZRAM_TOTAL = 8; + public static final int MEMINFO_ZRAM_TOTAL = 10; /** @hide */ - public static final int MEMINFO_MAPPED = 9; + public static final int MEMINFO_MAPPED = 11; /** @hide */ - public static final int MEMINFO_VM_ALLOC_USED = 10; + public static final int MEMINFO_VM_ALLOC_USED = 12; /** @hide */ - public static final int MEMINFO_PAGE_TABLES = 11; + public static final int MEMINFO_PAGE_TABLES = 13; /** @hide */ - public static final int MEMINFO_KERNEL_STACK = 12; + public static final int MEMINFO_KERNEL_STACK = 14; /** @hide */ - public static final int MEMINFO_COUNT = 13; + public static final int MEMINFO_COUNT = 15; /** * Retrieves /proc/meminfo. outSizes is filled with fields diff --git a/core/java/com/android/internal/util/MemInfoReader.java b/core/java/com/android/internal/util/MemInfoReader.java index b71fa0674b4e..8d7166679b78 100644 --- a/core/java/com/android/internal/util/MemInfoReader.java +++ b/core/java/com/android/internal/util/MemInfoReader.java @@ -82,7 +82,7 @@ public final class MemInfoReader { * that are mapped in to processes. */ public long getCachedSizeKb() { - return mInfos[Debug.MEMINFO_BUFFERS] + return mInfos[Debug.MEMINFO_BUFFERS] + mInfos[Debug.MEMINFO_SLAB_RECLAIMABLE] + mInfos[Debug.MEMINFO_CACHED] - mInfos[Debug.MEMINFO_MAPPED]; } @@ -90,7 +90,7 @@ public final class MemInfoReader { * Amount of RAM that is in use by the kernel for actual allocations. */ public long getKernelUsedSizeKb() { - return mInfos[Debug.MEMINFO_SHMEM] + mInfos[Debug.MEMINFO_SLAB] + return mInfos[Debug.MEMINFO_SHMEM] + mInfos[Debug.MEMINFO_SLAB_UNRECLAIMABLE] + mInfos[Debug.MEMINFO_VM_ALLOC_USED] + mInfos[Debug.MEMINFO_PAGE_TABLES] + mInfos[Debug.MEMINFO_KERNEL_STACK]; } diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp index a140b57268d1..e33d6eaea4dc 100644 --- a/core/jni/android_os_Debug.cpp +++ b/core/jni/android_os_Debug.cpp @@ -705,6 +705,8 @@ enum { MEMINFO_CACHED, MEMINFO_SHMEM, MEMINFO_SLAB, + MEMINFO_SLAB_RECLAIMABLE, + MEMINFO_SLAB_UNRECLAIMABLE, MEMINFO_SWAP_TOTAL, MEMINFO_SWAP_FREE, MEMINFO_ZRAM_TOTAL, @@ -776,6 +778,8 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o "Cached:", "Shmem:", "Slab:", + "SReclaimable:", + "SUnreclaim:", "SwapTotal:", "SwapFree:", "ZRam:", @@ -792,6 +796,8 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o 7, 6, 5, + 13, + 11, 10, 9, 5, @@ -801,7 +807,7 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o 12, 0 }; - long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + long mem[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; char* p = buffer; while (*p && numFound < (sizeof(tagsLen) / sizeof(tagsLen[0]))) { |