11 Finding memory-related issues in an app’s execution

This chapter covers

  • Sampling an execution to find memory allocation issues
  • Profiling a part of the code to identify the root causes of memory allocation problems
  • Obtaining and reading heap dumps

Every app processes data, and to do this, the app needs to store that data somewhere while working with it. The app allocates part of the system’s memory to work with the data, but the memory isn’t an infinite resource. All the apps running on a system share a finite amount of memory space that the system provides. If an app doesn’t wisely manage its allocated memory, it can run out of it, making it impossible to continue its work. Even if the app doesn’t run out of memory, using too much can make ...

Get Troubleshooting Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.