We would like to extend our thanks to Entwinkler.de JavaMagazin for translating and publishing our article ‘Simulating and troubleshooting deadlocks in Kotlin’ in the German language. It is an honor to have our work published in a print magazine, that too in German language.Continue reading “Simulation und Fehlerbehebung von Deadlocks in Kotlin – Bahnbrechende Deadlocks”
When a Garbage Collection event runs, it spends a predominant amount of its time in the Java application layer. It also spends a certain portion of its time in the Operating System/Kernel layer.Continue reading “Garbage Collection CPU Statistics”
When you tune Garbage collection performance, you are not only improving Garbage collection pause time but also the overall application’s response time and reducing cloud computing cost. Recently we helped to tune the Garbage collection behavior of a popular application. Just by making a minor change, it resulted in a dramatic improvement. Let’s discuss this garbage collection tuning success story in this post.Continue reading “Garbage Collection tuning success story – reducing young gen size”
Analyzing garbage collection log provides several advantages like: Reduces GC pause time, reduces cloud computing cost, predicts outages, provides effective metrics for capacity planning. To learn about the profound advantages of GC log analysis, please refer to this post. In this post let’s learn how to analyze GC logs?Continue reading “How to do GC Log analysis?”
When the application’s memory is under-allocated, it will result in the following side-effects:
a. Transactions response time will degrade
b. CPU consumption will spike up
c. OutOfMemoryError will be thrown
Only when OutOfMemoryError is thrown, most of us start to look at our application’s memory settings. This is like only when a patient goes to a critical condition; we begin to give treatment :-).
In this post, let’s discuss how to detect whether your application’s memory is under-allocated or not in a proactive manner.Continue reading “Detect proactively whether application’s memory is under-allocated”
Enabling Garbage collection logs on your application has certain advantages. In nutshell, Garbage collection logs will facilitate you to optimize Garbage Collection pause time, improve overall application’s response time, forecast production outages, reduce computing cost. Even though Garbage collection logs have these advantages, we weren’t sure what overhead does garbage collection logging add to the application. Thus we set out to conduct the below case study.Continue reading “Overhead added by Garbage Collection Logging”
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?”
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”