diff options
Diffstat (limited to 'cmds/dumpstate/dumpstate.cpp')
-rw-r--r-- | cmds/dumpstate/dumpstate.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp index 4758607122..fcc6108f5f 100644 --- a/cmds/dumpstate/dumpstate.cpp +++ b/cmds/dumpstate/dumpstate.cpp @@ -1264,6 +1264,15 @@ static void DumpIpAddrAndRules() { RunCommand("IP RULES v6", {"ip", "-6", "rule", "show"}); } +static void DumpKernelMemoryAllocations() { + if (!access("/proc/allocinfo", F_OK)) { + // Print the top 100 biggest memory allocations of at least one byte. + // The output is sorted by size, descending. + RunCommand("KERNEL MEMORY ALLOCATIONS", + {"alloctop", "--once", "--sort", "s", "--min", "1", "--lines", "100"}); + } +} + static Dumpstate::RunStatus RunDumpsysTextByPriority(const std::string& title, int priority, std::chrono::milliseconds timeout, std::chrono::milliseconds service_timeout) { @@ -1773,6 +1782,8 @@ Dumpstate::RunStatus Dumpstate::dumpstate() { DoKmsg(); + DumpKernelMemoryAllocations(); + DumpShutdownCheckpoints(); DumpIpAddrAndRules(); |