So here you have run VisualVM and connected it to our demo application. A quick introduction about how to use VisualVM is available here. The first profiler product to enter the ring – VisualVM. It is quite possible, that there are some more advanced techniques, which lead to more satisfying results. In all described cases only instructions in “Getting started” or demo video were followed, as every newcomer would do. Second note: no previous experience or proficiency with these tools is expected from the reader. Other techniques, namely memory snapshot comparison or memory dump analysis, will be discussed in future posts. Please also note, that in this post only profiling tools are covered. You are able to run the profilers on some machine that can open a socket connection to your crashing application.Īnd to remind you, dear reader, based on our experience – these are quite bold assumptions, you are one really lucky bastard if you have all those preconditions filled to start with.You can reproduce the crash at your own will in reasonable time (sometimes doesn’t hold true, and the leak only takes effect in production, but let’s assume it for simplicity).You know that your application crashes with.Let’s use our leaking Pet Clinic sample application as our “dying patient” and, using these three tools, try to find out why it crashes with OutOfMemoryError. Among them, VisualVM, YourKit and JProbe seem to be the most popular. Our past experience, which is supported by a quick search on Google and Stackoverflow, shows that the first set of tools people tend to jump to when solving memory problems in production is memory profilers. A couple of next posts will now look at the existing tools that you can use to find a Java memory leak. In retrospect, so far we have covered: Part 1 described the Story of solving an OutOfMemoryError through the eyes of a Developer, Part 2 explained how the Ops usually tackle the OutOfMemoryError problem, and Part 3 started looking at where to start solving the OutOfMemoryError. It is about time to continue our Solving OutOfMemoryError blog post series.
0 Comments
Leave a Reply. |