Shenandoah GC Tuning

Shenandoah GC aims to reduce pause times in Java applications by performing garbage collection concurrently with the application threads. At the heart of Shenandoah's innovation is its region-based memory management. The heap is strategically divided into regions, allowing garbage collection to be conducted independently on these segments. This not only facilitates efficient parallelism but also... Continue Reading →

Java CMS GC Tuning

Java Concurrent Mark & Sweep (CMS) algorithm operates by dividing the garbage collection process into multiple phases, concurrently marking and sweeping the memory regions without a significant pause. While its design brings benefits in terms of reduced pause times, it also introduces unique challenges that demand careful tuning and optimization.  In this post, we will... Continue Reading →

Memory Problems on Dell Boomi Core Servers

The Dell Boomi Core servers experienced a performance outage in the early morning at 4 a.m. Below are the symptoms observed: Dell Boomi wasn’t responding to any incoming requests CPU consumption was skyrocketing to 100% Entire Dell Boomi cluster had to be recycled to recover from the unresponsiveness. In this post, we have shared the... Continue Reading →

Problems With Finalizer

In Java, the finalize method has been part of the language since its early days, offering a mechanism to perform cleanup activities before an object is garbage collected. However, using finalizers has come under scrutiny due to several performance-related concerns. As of Java 9, the finalize method has been deprecated, and its use is highly... Continue Reading →

GraalVM vs OpenJDK GC Performance Comparison

In this article, we are going to  compare the performance of Garbage Collection(GC) of OpenJDK and GraalVM. The GraalVM is a popular open source JVM implementation in Java with a capability to run applications as native images. Apart from that, it has got other functionalities such as fast loading time, compacted memory usages,etc. Let’s compare the... Continue Reading →

Java Parallel GC Tuning

Parallel garbage collector (Parallel GC) is one of the oldest Garbage Collection algorithms introduced in JVM to leverage the processing power of modern multi-core systems. Parallel GC aims to reduce the impact of GC pauses by utilizing multiple threads to perform garbage collection in parallel. In this article, we will delve into the realm of... Continue Reading →

Is Garbage Collection Consuming High CPU in My Application?

Automatic garbage collection is a prevalent feature in modern programming languages such as Golang, Node.js, Java, .NET, and Python. While it offers convenience to developers by automatically removing unreferenced objects from memory, it can also result in excessive CPU consumption. As applications continuously create numerous objects, the garbage collector runs continuously in the background to... Continue Reading →

How to reduce CPU consumption caused by Garbage Collection?

All the modern programming languages such as Golang, nodejs, Java, .net, python,.... does automatic garbage collection to remove unreferenced objects from memory. While this automatic garbage collection provides convenience to developers, it can come at a cost: excessive CPU consumption. The constant cycles devoted to garbage collection causes couple of side effects: a. Degradation in... Continue Reading →


DevopsCon is the the Global Conference Series for DevOps & Business Transformation held in Berlin. Our architect was invited to give a talk on the topic “16 ARTIFACTS TO CAPTURE WHEN YOUR CONTAINER APPLICATION IS IN TROUBLE”. Troubleshooting the container application’s performance is tricky, if proper diagnostic information isn’t captured. In this session, 16 essential... Continue Reading →

How to aim for High GC Throughput

3 - 4 decades back, developers were responsible for evicting (i.e., deallocating) the objects they created in applications. Business applications are quite complex, with different workflows, use cases and scenarios. Even if a developer missed releasing an object for one scenario, objects would accumulate in memory, causing memory leaks. When Java was introduced in 1995,... Continue Reading →

Powered by

Up ↑