The Hidden Metaspace Killer: Identifying and Fixing Class Loader Leaks in Java EE/Microservices

The article discusses the challenges of diagnosing and fixing ClassLoader memory leaks in Java applications that lead to OutOfMemoryError: Metaspace. It highlights the importance of understanding the relationship between Metaspace, ClassLoaders, and proper resource management practices. Techniques for prevention, diagnosis, and real-world examples of troubleshooting are provided to address these issues effectively.

How to Solve OutOfMemoryError: Metaspace

The post aims to help readers understand important Java memory management topics, with a special focus on OutOfMemoryError: Metaspace. It covers the causes and solutions for these errors, explains JVM memory regions, provides a sample program, and outlines troubleshooting steps and heap dump analysis.

In which region intern strings are stored?

intern() is an interesting function in java.lang.String object. intern() function eliminates duplicate string objects from the application and has potential to reduce overall memory consumption of your application. To understand how string intern() function works you may refer to this interesting blog. Intern strings are stored in a string pool in the JVM memory. JVM... Continue Reading →

Troubleshooting Microservice’s OutOfMemoryError: Metaspace

Recently we confronted an interesting 'java.lang.OutOfMemoryError: Metaspace' problem in a Microservice application. This Microservice application will run smoothly for initial few hours, later it will start to throw java.lang.OutOfMemoryError: Metaspace. In this post let me share the steps we pursued to troubleshoot this problem. Video: To see the visual walk-through of this post, click below:... Continue Reading →

Up ↑