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 was sent to this application instance from the browser, we were getting following response to be printed on the browser.

Continue reading “TCP: out of memory — consider tuning tcp_mem”

LARGE OR SMALL MEMORY SIZE FOR MY APP?

Should I be running my application with few instances (i.e. machines) with large memory size or a lot of instances with small memory size? Which strategy is optimal? This question might be confronted often. After building applications for 2 decades, after building JVM performance engineering/troubleshooting tools (GCeasyFastThreadHeapHero), I still don’t know the right answer to this question. At the same time, I believe there is no binary answer to this question as well. In this article, I would like to share my observations and experiences on this topic.

Continue reading “LARGE OR SMALL MEMORY SIZE FOR MY APP?”

ECLIPSE MAT – INCOMING REFERENCES, OUTGOING REFERENCES

Eclipse Memory Analyzer (MAT) is a powerful tool for heap dump analysis. It has several great features to debug memory problems effectively. ‘Incoming references’ and ‘outgoing references’ is one such feature. In this article let’s discuss about ‘incoming references’, ‘outgoing references’ and difference between them.

Continue reading “ECLIPSE MAT – INCOMING REFERENCES, OUTGOING REFERENCES”

VIRTUAL MACHINE ERROR

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.

Continue reading “VIRTUAL MACHINE ERROR”

Blog at WordPress.com.

Up ↑