-
Resource leakages: command pattern to the rescue
Leakages, introduced to applications via poorly designed resource handling, happen to be one of the frequent sources of availability issues. In this post I will describe a simple technique to alleviate the problem. Say hi to an old friend called "command pattern".
Filed under: Memory Leaks
-
Native memory leak example
One particular memory leak affecting Java deployments out there is particularly nasty to troubleshoot. This leak would happen in native memory and you would expose no clear trend when monitoring different memory pools form within the JVM. In such case you are facing a native memory leak. In this post I give a real-world example of a native memory leak.
Filed under: Memory Leaks
-
Memory Leaks: Fallacies and Misconceptions
In the years we have spent building Plumbr we have detected and solved so many memory leaks that I have actually lost count. Interestingly, during these years we have encountered even more situations where the memory leak was nowhere in sight, but somehow our users were convinced that there has to be one. In this post, I will walk you through four different patterns of memory usage, explaining which of these are symptomatic to memory leaks and which ones are not.
Filed under: Memory Leaks
-
Plumbr now exposing root causes for OutOfMemoryErrors
As of today Plumbr users are exposed to the root causes for OutOfMemoryErrors. Plumbr is now capable of exposing the data structures consuming most memory, along with the information where such structures were created and what is currently referencing them.
Filed under: Memory Leaks Product Updates
-
Why does my JVM have access to less memory than -Xmx specifies?
Opening up the reason why certain tooling using Runtime.getRuntime().maxMemory() are displaying different total heap size than in the configuration specified via Xmx.
Filed under: Memory Leaks
-
Adaptive heap sizing
JVM is adaptive in several regards. This post will take a look into adaptive heap sizing in action - through a small test case we see how the Eden and Survivor sizes are resized dynamically to prevent premature promotion to Tenured.
Filed under: Memory Leaks
-
Memory leaks – measuring frequency and severity
In the post we analyze the data based on more than 2,000 different applications triggering containing than 750 memory leaks to get insight about the memory leak size and velocity.
Filed under: Memory Leaks
-
Out of memory: Kill process or sacrifice child
Out of Memory (OOM) refers to a computing state where all available memory, including swap space, has been allocated. This post describes the actions taken when facing a Out of memory: Kill process or sacrifice child error in logs.
Filed under: Memory Leaks
-
OutOfMemoryError on overprovisioned heap
Increasing heap size via -Xmx is a familiar solution for memory-hungry applications. In this post I introduce an example case where a more detailed configuration via -XX:NewSize and -XX:SurvivorRatio will save you from over-provisioning your resources.
Filed under: Memory Leaks
-
You cannot predict the way you die
When debugging a situation where systems are failing due to the lack of resources, you can no longer count on anything. Seemingly unrelated changes can trigger completely different messages and control flows within the JVM.
Filed under: Memory Leaks