This chapter covers tools that enable you to diagnose an application’s interaction with the memory subsystem as managed by the Linux kernel and the CPU. Because different layers of the memory subsystem have orders of magnitude differences in performance, fixing an application to efficiently use the memory subsystem can have a dramatic influence on an application’s performance.
After reading this chapter, you should be able to
Determine how much memory an application is using (
Determine which functions of an application are allocating memory (
Profile the memory usage of an application using both software simulation (
cachegrind) and hardware performance counters ...