Show userId in meminfo dump

Makes it easier to identify which user a process is
running on. It doesn't show the userId for user 0
to keep things simple for single-user devices.

Bug: 257285945
Test: dumpsys meminfo
Change-Id: I6197325d41ffa13ba5c6a36fe36c433b71b0225a
This commit is contained in:
Amith Yamasani
2022-10-07 08:32:31 -07:00
parent 9db605bb91
commit bf2e0a9f47

View File

@@ -11050,11 +11050,13 @@ public class ActivityManagerService extends IActivityManager.Stub
final long pss;
final long swapPss;
final long mRss;
final int id;
final int id; // pid
final int userId;
final boolean hasActivities;
ArrayList<MemItem> subitems;
MemItem(String label, String shortLabel, long pss, long swapPss, long rss, int id,
@UserIdInt int userId,
boolean hasActivities) {
this.isProc = true;
this.label = label;
@@ -11063,6 +11065,7 @@ public class ActivityManagerService extends IActivityManager.Stub
this.swapPss = swapPss;
this.mRss = rss;
this.id = id;
this.userId = userId;
this.hasActivities = hasActivities;
}
@@ -11074,6 +11077,7 @@ public class ActivityManagerService extends IActivityManager.Stub
this.swapPss = swapPss;
this.mRss = rss;
this.id = id;
this.userId = UserHandle.USER_SYSTEM;
this.hasActivities = false;
}
}
@@ -11108,8 +11112,9 @@ public class ActivityManagerService extends IActivityManager.Stub
pw.printf("%s%s: %-60s (%s in swap)\n", prefix, stringifyKBSize(mi.pss),
mi.label, stringifyKBSize(mi.swapPss));
} else {
pw.printf("%s%s: %s\n", prefix, stringifyKBSize(dumpPss ? mi.pss : mi.mRss),
mi.label);
pw.printf("%s%s: %s %s\n", prefix, stringifyKBSize(dumpPss ? mi.pss : mi.mRss),
mi.label,
mi.userId != UserHandle.USER_SYSTEM ? "(user " + mi.userId + ")" : "");
}
} else if (mi.isProc) {
pw.print("proc,"); pw.print(tag); pw.print(","); pw.print(mi.shortLabel);
@@ -11601,7 +11606,7 @@ public class ActivityManagerService extends IActivityManager.Stub
ss[INDEX_TOTAL_MEMTRACK_GL] += memtrackGl;
MemItem pssItem = new MemItem(r.processName + " (pid " + pid +
(hasActivities ? " / activities)" : ")"), r.processName, myTotalPss,
myTotalSwapPss, myTotalRss, pid, hasActivities);
myTotalSwapPss, myTotalRss, pid, r.userId, hasActivities);
procMems.add(pssItem);
procMemsMap.put(pid, pssItem);
@@ -11698,7 +11703,7 @@ public class ActivityManagerService extends IActivityManager.Stub
MemItem pssItem = new MemItem(st.name + " (pid " + st.pid + ")",
st.name, myTotalPss, info.getSummaryTotalSwapPss(), myTotalRss,
st.pid, false);
st.pid, UserHandle.getUserId(st.uid), false);
procMems.add(pssItem);
ss[INDEX_NATIVE_PSS] += info.nativePss;
@@ -12244,7 +12249,7 @@ public class ActivityManagerService extends IActivityManager.Stub
ss[INDEX_TOTAL_RSS] += myTotalRss;
MemItem pssItem = new MemItem(r.processName + " (pid " + pid +
(hasActivities ? " / activities)" : ")"), r.processName, myTotalPss,
myTotalSwapPss, myTotalRss, pid, hasActivities);
myTotalSwapPss, myTotalRss, pid, r.userId, hasActivities);
procMems.add(pssItem);
procMemsMap.put(pid, pssItem);
@@ -12332,7 +12337,7 @@ public class ActivityManagerService extends IActivityManager.Stub
MemItem pssItem = new MemItem(st.name + " (pid " + st.pid + ")",
st.name, myTotalPss, info.getSummaryTotalSwapPss(), myTotalRss,
st.pid, false);
st.pid, UserHandle.getUserId(st.uid), false);
procMems.add(pssItem);
ss[INDEX_NATIVE_PSS] += info.nativePss;