diff options
author | Dianne Hackborn <hackbod@google.com> | 2012-04-05 14:58:18 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2012-04-05 15:03:21 -0700 |
commit | d3e677bc509f2fe275527adc71db62b714669fd2 (patch) | |
tree | 94ff195d37bbce58e1a2b2b829f53b7a311f2361 /services/java/com | |
parent | 9828830611137bb751ab3512082a3bd31f439e38 (diff) | |
download | frameworks_base-d3e677bc509f2fe275527adc71db62b714669fd2.zip frameworks_base-d3e677bc509f2fe275527adc71db62b714669fd2.tar.gz frameworks_base-d3e677bc509f2fe275527adc71db62b714669fd2.tar.bz2 |
Dump KSM stats in the meminfo.
Change-Id: I077dcb137ed743ea10fde1dbba4e86c340dec432
Diffstat (limited to 'services/java/com')
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 33250b8..2da827e 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -10262,6 +10262,29 @@ public final class ActivityManagerService extends ActivityManagerNative } pw.println(); pw.print("Total PSS: "); pw.print(totalPss); pw.println(" kB"); + final int[] SINGLE_LONG_FORMAT = new int[] { + Process.PROC_SPACE_TERM|Process.PROC_OUT_LONG + }; + long[] longOut = new long[1]; + Process.readProcFile("/sys/kernel/mm/ksm/pages_shared", + SINGLE_LONG_FORMAT, null, longOut, null); + long shared = longOut[0] * ProcessList.PAGE_SIZE / 1024; + longOut[0] = 0; + Process.readProcFile("/sys/kernel/mm/ksm/pages_sharing", + SINGLE_LONG_FORMAT, null, longOut, null); + long sharing = longOut[0] * ProcessList.PAGE_SIZE / 1024; + longOut[0] = 0; + Process.readProcFile("/sys/kernel/mm/ksm/pages_unshared", + SINGLE_LONG_FORMAT, null, longOut, null); + long unshared = longOut[0] * ProcessList.PAGE_SIZE / 1024; + longOut[0] = 0; + Process.readProcFile("/sys/kernel/mm/ksm/pages_volatile", + SINGLE_LONG_FORMAT, null, longOut, null); + long voltile = longOut[0] * ProcessList.PAGE_SIZE / 1024; + pw.print(" KSM: "); pw.print(sharing); pw.print(" kB saved from shared "); + pw.print(shared); pw.println(" kB"); + pw.print(" "); pw.print(unshared); pw.print(" kB unshared; "); + pw.print(voltile); pw.println(" kB volatile"); } } |