Benefits of setting initial and maximum memory size to the same value

When we launch applications, we specify the initial memory size and maximum memory size. For the applications that run on JVM (Java Virtual Machine), initial and maximum memory size is specified through ‘-Xms’ and ‘-Xmx’ arguments. If Java applications are running on containers, it's specified through ‘-XX: InitialRAMPercentage’ and ‘-XX: MaxRAMPercentage’ arguments. Most enterprises set... Continue Reading →

Memory leak due to improper exception handling

In this post let's discuss an interesting memory problem we confronted in the production environment and how we went about solving it. This application would take traffic for a few hours after that it would become unresponsive. It wasn't clear what was causing the unresponsiveness in the application. Video: To see the visual walk-through of... Continue Reading →

W-JAX 2021 – LET’S CRASH THE APPLICATIONS!

JAX – Online conference is the meeting place for all Java and software architecture enthusiasts! This year also, they have conducted an online conference to exchange knowledge and ideas from speakers all over the world. They have invited our architect to present the topic “Let's crash the applications!”. In this session, sample code snippets that... Continue Reading →

Chaos Engineering – Simulating OutOfMemoryError

In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let's discuss how to simulate 'java.lang.OutOfMemoryError: Java Heap space' problem. This 'java.lang.OutOfMemoryError: Java Heap space' will be thrown by the application when the application generates more objects than the allocated heap size.  Sample Program Here is... Continue Reading →

TCP: out of memory — consider tuning tcp_mem

Recently we experienced an interesting production problem. This application was running on multiple AWS EC2 instances behind Elastic Load Balancer. The application was running on GNU/Linux OS, Java 8, Tomcat 8 application server. All of sudden one of the application instances became unresponsive. All other application instances were handling the traffic properly. Whenever the HTTP request... Continue Reading →

Up ↑