OSDN Git Service

Monitor swap
authorRafal Slawik <rslawik@google.com>
Tue, 16 Apr 2019 12:16:15 +0000 (13:16 +0100)
committerRafal Slawik <rslawik@google.com>
Fri, 19 Apr 2019 06:13:27 +0000 (06:13 +0000)
commit44af3b320243f5b5f3c26a93f93d0d3924517d42
tree39ba7356bee58afbd6306fc3345b46d44d8c87bf
parent84f4980bc26e774622b24730c5f4b1ecd9a1701d
Monitor swap

Pull value of VmSwap from /proc/PID/status when capturing
ProcessMemoryState atom.

Before change:
(average pull time nanos) 43355896
(max pull time nanos) 75649278

After change:
(average pull time nanos) 86307073
(max pull time nanos) 151681474

Delta: 2x increase
Pulling frequency is controled via statsd and we trade-off more
expensive reads for more actionable data (helping detect memory leaks).

Bug: 130624561
Test: atest MemoryStatUtilTest
Test: benchmark pulling ProcessMemoryState atom
Test: manually take a statsd report
Change-Id: I1d90563b70b5253b3d31ddab4810db870620c4d4
(cherry picked from commit 65a9b7122ada9db7a95cdfe31fa97b328bd04a06)
cmds/statsd/src/atoms.proto
cmds/statsd/src/external/StatsPullerManager.cpp
services/core/java/com/android/server/am/MemoryStatUtil.java
services/core/java/com/android/server/stats/StatsCompanionService.java
services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java