Java CMS GC Tuning

The Java Concurrent Mark & Sweep (CMS) algorithm provides low-latency garbage collection, effective for applications with dynamic memory needs. Although deprecated in JDK 9 and removed in JDK 14, it can still be utilized in earlier versions. This post discusses tuning techniques, advanced options, and performance analysis for optimal results.

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

The Parallel garbage collector in JVM enhances processing by utilizing multiple threads, reducing GC pauses. It suits applications focusing on throughput, batch processing, or larger heap sizes. Configuration involves specific JVM arguments to fine-tune heap and generation sizes, manage GC pause times, and optimize performance, requiring continuous monitoring for best results.

Is Garbage Collection Consuming High CPU in My Application?

Automatic garbage collection in programming languages like Golang, Java, and Python simplifies memory management but may lead to high CPU usage. This article discusses methods to measure CPU consumption caused by garbage collection, including GC log analysis, monitoring tools, and examining CPU usage by GC threads, enabling performance optimizations for applications.

How to reduce CPU consumption caused by Garbage Collection?

Modern programming languages offer automatic garbage collection, which simplifies memory management but can lead to increased CPU consumption and higher cloud hosting costs. This article outlines five strategies for developers to mitigate these issues: analyzing GC logs, switching GC algorithms, minimizing object creation, adjusting heap size, and scaling instances. Each approach aims to optimize application performance and reduce resource expenses.

How to aim for High GC Throughput

Developers once managed memory manually, leading to leaks. Java's 1995 introduction of automatic garbage collection shifted this responsibility to the JVM. GC throughput, measuring time spent on processing versus garbage collection, is crucial for performance. Optimizing this throughput requires addressing issues like memory leaks, tuning, and resource allocation for better application efficiency.

Up ↑