diff options
| author | 2023-03-24 16:56:19 +0000 | |
|---|---|---|
| committer | 2023-03-28 13:47:01 +0000 | |
| commit | 16cc460af66fa8f35cd165b573de205671cf4573 (patch) | |
| tree | 737bc6ca6049015b39f7663bb9244ef28b39025c | |
| parent | 9b39adf62e15aada4342e29552a68765eaa24f60 (diff) | |
Add shmem through
Test: statsd_testdrive
Bug: 267739275
Change-Id: I08fa1330da2677005a78f947e25f7ac785f03c63
| -rw-r--r-- | services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java | 12 | ||||
| -rw-r--r-- | services/core/java/com/android/server/stats/pull/StatsPullAtomService.java | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java b/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java index f653e4b26438..6cb6dc07f8b8 100644 --- a/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java +++ b/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java @@ -28,7 +28,8 @@ public final class ProcfsMemoryUtil { "VmHWM:", "VmRSS:", "RssAnon:", - "VmSwap:" + "RssShmem:", + "VmSwap:", }; private static final String[] VMSTAT_KEYS = new String[] { "oom_kill" @@ -38,7 +39,7 @@ public final class ProcfsMemoryUtil { /** * Reads memory stats of a process from procfs. Returns values of the VmHWM, VmRss, AnonRSS, - * VmSwap fields in /proc/pid/status in kilobytes or null if not available. + * VmSwap, RssShmem fields in /proc/pid/status in kilobytes or null if not available. */ @Nullable public static MemorySnapshot readMemorySnapshotFromProcfs(int pid) { @@ -46,8 +47,9 @@ public final class ProcfsMemoryUtil { output[0] = -1; output[3] = -1; output[4] = -1; + output[5] = -1; Process.readProcLines("/proc/" + pid + "/status", STATUS_KEYS, output); - if (output[0] == -1 || output[3] == -1 || output[4] == -1) { + if (output[0] == -1 || output[3] == -1 || output[4] == -1 || output[5] == -1) { // Could not open or parse file. return null; } @@ -56,7 +58,8 @@ public final class ProcfsMemoryUtil { snapshot.rssHighWaterMarkInKilobytes = (int) output[1]; snapshot.rssInKilobytes = (int) output[2]; snapshot.anonRssInKilobytes = (int) output[3]; - snapshot.swapInKilobytes = (int) output[4]; + snapshot.rssShmemKilobytes = (int) output[4]; + snapshot.swapInKilobytes = (int) output[5]; return snapshot; } @@ -101,6 +104,7 @@ public final class ProcfsMemoryUtil { public int rssInKilobytes; public int anonRssInKilobytes; public int swapInKilobytes; + public int rssShmemKilobytes; } /** Reads and parses selected entries of /proc/vmstat. */ diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 3d8f538cc7ad..afb872bdba7e 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -2290,7 +2290,8 @@ public class StatsPullAtomService extends SystemService { managedProcess.processName, managedProcess.pid, managedProcess.oomScore, snapshot.rssInKilobytes, snapshot.anonRssInKilobytes, snapshot.swapInKilobytes, snapshot.anonRssInKilobytes + snapshot.swapInKilobytes, - gpuMemPerPid.get(managedProcess.pid), managedProcess.hasForegroundServices)); + gpuMemPerPid.get(managedProcess.pid), managedProcess.hasForegroundServices, + snapshot.rssShmemKilobytes)); } // Complement the data with native system processes. Given these measurements can be taken // in response to LMKs happening, we want to first collect the managed app stats (to @@ -2309,7 +2310,8 @@ public class StatsPullAtomService extends SystemService { -1001 /*Placeholder for native processes, OOM_SCORE_ADJ_MIN - 1.*/, snapshot.rssInKilobytes, snapshot.anonRssInKilobytes, snapshot.swapInKilobytes, snapshot.anonRssInKilobytes + snapshot.swapInKilobytes, - gpuMemPerPid.get(pid), false /* has_foreground_services */)); + gpuMemPerPid.get(pid), false /* has_foreground_services */, + snapshot.rssShmemKilobytes)); } return StatsManager.PULL_SUCCESS; } |