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. 


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:

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 →


Java.lang.VirtualMachineError is thrown when Java virtual machine encounters any internal error or resource limitation which prevents it from functioning. It’s a self-defensive mechanism employed by JVM to prevent entire application from crashing. In this article lets discuss different types of VirtualMachineError, their characteristics, reasons why they get triggered and potentials solutions to fix them.


Eclipse and IntelliJ are the two competing IDEs in the industry. There are lot of passionate discussion going in the social media, forums to declare the winner in this race. We thought it would be a fun exercise to study which IDE utilizes memory efficiently?


Continuous Integration/Continuous Deployment (CI/CD) has become central to software development. To ensure high-quality software releases smoke tests, regression tests, performance tests, static code analysis & security scans are run in CI/CD pipeline. Despite of all these quality measures, still OutOfMemoryError, CPU spikes, unresponsiveness, degradation in response time are surfacing in production environment.

Blog at

Up ↑