I recently had a group of developers performance troubleshooting a problem-riddled application from my performance workshop. After dispensing with a couple easy wins, the group was faced with a CPU that was running very hot. The group reacted exactly in the same way that I see most teams do when faced with a hot CPU; they fired up an execution profiler hoping that it would help them sort things out. In this particular case, the problem was related to how the application was burning through memory. Now, while an execution profiler can find these problems, memory profilers will paint a much clearer picture. My group had somehow missed a key metric that was telling them that they should have been using a memory profiler. Lets run through a similar exercise here so that we can see when and why it is better to use a memory profiler.
Profilers work by either sampling top of stack or instrumenting the code with probes, or a combination of both. These techniques are very good at finding computations that happen frequently or take a long time. As my group experienced, the information gathered by execution profilers often correlates well with the source of the memory inefficiency. However it points to an execution problem which can sometimes be confusing.
To read rest of the article please Click Here.
- Are You Really Out Of Memory – Part II In this series of articles Nikita Salnikov-Tarnovski (LinkedIn), the co-founder of Plumbr discusses the performance and stability issues in Enterprise Java applications due to memory leaks. Nikita goes on to talk about various approaches to identifying memory leaks through the use of […]
- Are You Really Out Of Memory Introduction - So it's just another day at work. You start your day by receiving another call from the operations team saying they now have to restart your production application every three to four hours just to keep it humming along. And boy, doesn't this really annoy them. You have a […]
- The Box: A Shortcut to finding Performance Bottlenecks by Kirk Pepperdine Quite often performance problems will be reported with some very antidotal comments that do nothing to help you understand where to start looking. Faced with this dilemma, it is not uncommon for teams to start guessing at the root cause. Now enter "the box", a little diagram that is an […]
- What Do I Do, My System Is Running Like A Dog? A long time ago, I presented on a topic "Measuring Response Times of Code on Oracle Systems." The presentation was at a CMG (www.cmg.org) conference and paper for this presentation was a subset of "For Developers: Making Friends with the Oracle Database." In the presentation, I spent a […]