mmm_donut: Initial version
Initial version of the Mad Memory Muncher, a Dynamically Organizing
This attempts to chew through memory and exercise zram / low memory
conditions in a slightly cleaner way than other similar tools.
- It's intrinsically multiprocess and the different processes work
together. Among other benefits, this means we don't get into corner
cases where one process starts or finishes significantly before the
- The master process can detect if a child has died and stop the test.
- We can summarize the results of all clients easily.
This test is written in python so it is hopefully easy to extend. It
still attempts to be predictable and performant by allocating pages
itself by calling libc directly and doing its memory manipulation
using numpy (which is written in C).
At the moment this program only has a single, hardcoded test where it
allocates a bunch of memory and then spends time accessing it. It
could certainly be extended to include additional test modes.
TEST=Use this to genereate some memory pressure
Commit-Ready: Douglas Anderson <firstname.lastname@example.org>
Tested-by: Douglas Anderson <email@example.com>
Reviewed-by: Sonny Rao <firstname.lastname@example.org>
2 files changed