From: David Rientjes <rientjes@google.com>
To: Michal Hocko <mhocko@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
Balbir Singh <bsingharora@gmail.com>,
Peter Zijlstra <peterz@infradead.org>
Cc: linux-mm@kvack.org
Subject: Tools for explaining memory mappings/usage/pressure
Date: Sat, 6 Jul 2024 13:55:11 -0700 (PDT) [thread overview]
Message-ID: <29c27dab-a590-5df2-c840-279bf9dff090@google.com> (raw)
Hi all,
I'm trying to crowdsource information on open source tools that can be
used directly by customers to explain memory mappings, usage, pressure,
etc.
We encounter both internal and external users that are looking for this
insight and it often requires significant engineering time to collect data
to make any conclusions.
A recent example is an external customer that recently upgraded their
userspace and started to run into memcg constrained memory pressure that
wasn't previously observed. After handing off a hacky script to run in
the background, it was immediately obvious that the source of the direct
reclaim was all of the MADV_FREE memory that was sitting around.
Converting to MADV_DONTNEED solved their issue.
A month ago, a different external customer was concerned about increased
memory access latency in their guest on some instances although there
were no issues observable on the host. After handing off a hacky script
to run in the background, it was immediately obvious that memory
fragmentation was resulting in a large disparity in the number of
hugepages that were available on some instances.
Rather than hacky scripts that collect things like vmstat, memory.stat,
buddyinfo, etc, at regular intervals, it would be preferable to hand off
something more complete. Idea is an open source tool that can be run in
the background to collect metrics for the system, NUMA nodes, and memcg
hierarchies, as well as potentially from subsystems in the kernel like
delay accounting. IOW, I want to be able to say "install ${tool} and send
over the log file."
Are thre any open source tools that do a good job of this today that I can
latch onto? If not, sounds like I'll be writing one from scratch. Let me
know if there's interest in this as well.
Thanks!
next reply other threads:[~2024-07-06 20:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-06 20:55 David Rientjes [this message]
2024-07-07 15:44 ` SeongJae Park
2024-07-08 13:50 ` Dan Schatzberg
2024-07-21 23:05 ` David Rientjes
2024-07-22 22:15 ` Dan Schatzberg
2024-07-22 9:05 ` Vlastimil Babka (SUSE)
2024-07-22 21:57 ` David Rientjes
2024-12-30 8:15 ` Raghavendra K T
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=29c27dab-a590-5df2-c840-279bf9dff090@google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=bsingharora@gmail.com \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox