Every manufacturer of an embedded device wants to know how much memory should be included in the device when it ships. Heap allocation and deallocation under Linux is an extremely dynamic process. Even during periods of apparent idleness the heap allocator is still busy responding to allocation requests. This article introduces a simple, low-overhead method of visualizing at least one of the aspects of this system, an aspect we refer to as heap stress.
We here at EQware had occasion to want detailed information about process memory usage on an embedded Linux system. At the time of writing, we found that it's considered hard to get good per-process memory information under Linux. So we did what any good Linux programmer would do: we wrote our own tools. It is these PageMap tools, and the results they provide that are the topics of this article.