GC easy – Universal Java GC Log Analyser


Educational – Best Practises

Garbage Collection – Unsung Hero

Garbage Collection is a facet often disregarded and underestimated, yet beneath its surface lies the potential for profound impacts on your organization that reach far beyond the realm of application performance. In this post, we embark on a journey to unravel the pivotal role of Garbage Collection analysis and explore seven critical points that underscore its significance.

Continue reading “Garbage Collection – Unsung Hero”

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 Parallel GC tuning specifically. However, if you want to learn more basics of Garbage Collection tuning, you may watch this JAX London conference talk.

Continue reading “Java Parallel GC Tuning”

Java ZGC algorithm Tuning

ZGC is a specialized garbage collector that focuses on managing large heaps and minimizing pauses in Java applications. It tackles the challenges of garbage collection in scenarios where memory-intensive workloads and consistent response times are vital. Leveraging concurrent processing capabilities and advanced algorithms, ZGC offers an effective solution for optimizing performance in modern Java applications. In this post, we will explore techniques to tune ZGC for enhanced performance specifically. However, if you want to learn more basics of Garbage Collection tuning, you may watch this JAX London conference talk.

Continue reading “Java ZGC algorithm Tuning”

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 reclaim these objects, consuming a significant number of CPU cycles. However, measuring the exact CPU cycles consumed due to automatic garbage collection can be challenging for many developers. In this article, we will explore a few approaches to measure the CPU cycles consumed by automatic garbage collection.

Continue reading “Is Garbage Collection Consuming High CPU in My Application?”

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:

Continue reading “How to reduce CPU consumption caused by Garbage Collection?”

How to minimize Object creation rate?

coming soon

What is Total Created Bytes?

Coming soon

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, it promised automatic garbage collection. It revolutionized memory management by shifting the responsibility of deallocating objects from developers to the Java Virtual Machine (JVM). The entire industry embraced this innovative idea, as developers no longer needed to worry about manual memory management. Since then, automatic garbage collection has become a default feature in all modern programming languages.

Continue reading “How to aim for High GC Throughput”

Chaos Engineering – Metaspace OutOfMemoryError

JVM memory has following regions: 

Fig: JVM memory regions

a. Young Generation

b. Old Generation

c. Metaspace

d. Others region

Continue reading “Chaos Engineering – Metaspace OutOfMemoryError”

Powered by

Up ↑