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 →

What is GC Log, thread dump and Heapdump?

Java Virtual Machine (JVM) generates 3 critical artifacts that are useful for optimizing the performance and troubleshooting production problems. Those artifacts are: a) Garbage collection (GC) logb) Thread dumpc) Heap dump In this PDF document, we have discussed the difference between these 3 artifacts: Where to use them? How does it look? How to capture... Continue Reading →

HeapHero Web – Remote Location

In HeapHero enterprise edition web tool we have introduced a new feature called Remote Location. Using this feature now you can pass the http(s) URL location of your heap dump in the request. Say suppose, you have stored your heap dump files in a remote location like AWS S3 bucket. In those cases, if you... Continue Reading →

HeapHero API – Remote Location

In heap dump analysis API we have introduced a new feature called Remote Location. Using this feature now you can pass the http(s) URL location of your heap dump in the request. Say suppose, you have stored your heap dump files in a remote location like AWS S3 bucket. In those cases, if you want... Continue Reading →

OUTOFMEMORYERROR RELATED JVM ARGUMENTS

JVM has provided helpful arguments to deal with OutOfMemoryError. In this article we would like to highlight those JVM arguments. It might come handy for you when you are troubleshooting OutOfMemoryError. Those JVM arguments are: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath -XX:OnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -XX:+CrashOnOutOfMemoryError Let’s discuss these JVM arguments in detail in this article. 1. -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath Heap dump... Continue Reading →

AUTOMATING – OUTOFMEMORYERROR TROUBLESHOOTING

Troubleshooting OutOfMemoryError or any memory related problem is done in manually even in 2019. Troubleshooting and identifying the root cause of OutOfMemoryError can even be automated, by following below mentioned 3 steps:         Capture heap dump Restart application Problem Diagnosis Let's discuss these steps in detail. 1. Capture heap dump Heap dump is... Continue Reading →

SHALLOW HEAP, RETAINED HEAP

Eclipse MAT (Memory Analyzer Tool) is a powerful tool to analyze heap dumps. It comes quite handy when you are trying to debug memory related problems. In Eclipse MAT two types of object sizes are reported: Shallow Heap Retained Heap In this article lets study the difference between them. Let’s study how are they calculated?... Continue Reading →

Up ↑