Exmap

Exmap does not build on current systems and should be considered obsolete. The code is still available on github.


Exmap is a memory analysis tool which allows you to accurately determine how much physical memory and swap is used by individual processes and shared libraries on a running system. In particular, it accounts for the sharing of memory and swap between different processes.

To my knowledge, other tools can determine that some memory is shared, but can't determine how many processes are making use of that memory and so fairly apportion the cost between the processes making use of it.

Exmap uses a loadable kernel module to assign a unique id to each physical or swap page in use by each process. This information is then collated and 'effective' usage numbers calculated. A GTK program is provided to view the information (and a command line tool is planned for a future release).

Basically, this allows you to examine a complex system of processes and determine the effective memory usage of each process, mapped file, ELF section and ELF symbol, which can be helpful in memory optimisation work