Memory Profiling: How to detect which application/package is consuming too much memory
- by malvim
Hi,
I have a situation here at work where we run a JEE server with several applications deployed on it. Lately, we've been having frequent OutOfMemoryException's. We suspect some of the apps might be behaving badly, maybe leaking, or something.
The problem is, we can't really tell which one. We have run some memory profilers (like YourKit), and they're pretty good at telling what classes use the most memory. But they don't show relationships between classes, so that leaves us with a situation like this: We see that there are, say, lots of Strings and int arrays and HashMap entries, but we can't really tell which application or package they come from.
Is there a way of knowing where these objects come from, so we can try to pinpoint the packages (or apps) that are allocating the most memory?
Thank you in advance.