G1 GC is an adaptive garbage collection algorithm that has become the default GC algorithm since Java 9. We would like to share a few tips to tune G1 Garbage collector to obtain optimal performance.Continue reading “Simple & effective G1 GC tuning tips”
Java Heap fragmentation is an interesting problem, which triggers long pausing full garbage collection cycles. In this article we would like to attempt to explain the heap fragmentation.
Let’s say developer write a code ‘new BMW()’. This will create a new BMW object in the heap memory space. Example:Continue reading “What is Java Heap Fragmentation?”
Since we are analyzing thousands of Garbage Collection logs every single day through our GCeasy tool, we are noticing several java applications still continuing to use ‘-XX:+UseCompressedOops’ JVM argument. Actually, it’s not required to pass ‘-XX:+UseCompressedOops’ JVM argument if you are running in Java SE 6 update 23 and later. Compressed oops is supported and enabled by default in Java SE 6u23 and later versions.Continue reading “Avoid passing – XX:+UseCompressedOops”
Covid19 pandemic has already put a deep economic dent globally. US stock market has experienced the worst crash since 1987. Sooner or later, Enterprises have to figure out a plan to run their organizations on tight budgets. In this below 10 minute interview, our architect Ram Lakshmanan is sharing an effective way to cut down enterprise IT spending 20 – 30% without doing any lay-offs.Continue reading “Surviving Covid19 – Effective way to cut-down IT spending”
At the time (March 2020) of writing this article there are 600+ arguments that you can pass to JVM just around Garbage collection and memory. If you include other aspects, total JVM arguments count will easily cross 1000+. 😊. It’s way too many arguments for anyone to digest and comprehend. In this article, we are highlighting seven important JVM arguments that you may find it useful.Continue reading “7 JVM arguments of Highly Effective Applications”
Continue reading “Shooting the troubles – Confoo Canada Conference talk (video)”
ConFoo.CA Developer Conference is one of the biggest conferences for web developers, that took place in Canada. This Conference had 155 presentations by popular international speakers focused on pragmatic solutions for developers, enthusiastic attendees and delightful atmosphere!
jstat is a simple utility tool, that is present in JDK to provide JVM performance-related statistics like garbage collection, compilation activities. The major strength of jstat is its ability to capture these metrics dynamically when JVM is running without any pre-requisite instrumentation. What do we mean by it? Say for example if you want to capture garbage collection related statistics, you need to pass below arguments before you start the JVM:Continue reading “jstat – Analysis”
One of the widely wasted resources in the world today is: Memory. Due to inefficient programming, surprising (sometimes ‘shocking’) amount of memory is wasted. We see this pattern repeated in several enterprise applications. To prove this case, we conducted a small study. We analyzed the famous spring boot pet clinic application to see how much memory it is wasting. This application has been designed by the community to show how the spring application framework can be used to build simple but powerful database-oriented applications.Continue reading “MEMORY WASTED BY SPRING BOOT APPLICATION”
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”