Will Cohen turned me on to a little helper tool called memusage, which is distributed with glibc. The purpose of that tool is to trace memory allocation behavior of a process.
In RHEL, the memusage binary is part of the glibc-utils package. There’s actually also a shared library called /usr/lib64/libmemusage.so that’s part of the base glibc package, which can be used via LD_PRELOAD.
memusage writes output to your terminal, as below:
It is also capable of writing memory allocation over time to a png file, for example:
Netperf is not a particularly memory-intensive benchmark for illustrating it’s usage, just wanted to describe the utility. I’ll upload more interesting graphs when I run more loads with the library.