Search

GC easy – Universal Java GC Log Analyser

Category

Java Garbage Collection

How to reduce CPU consumption caused by Garbage Collection?

Modern programming languages with automatic garbage collection, while convenient, can lead to excessive CPU usage and increased cloud costs. Strategies to mitigate this include tuning GC parameters, switching algorithms, minimizing object creation, adjusting heap size, and scaling instances. Optimizing these factors enhances application performance and reduces expenses.

How to minimize Object creation rate?

coming soon

What is Total Created Bytes?

Coming soon

How to achieve high GC Throughput

Garbage Collection (GC) Throughput is important for Java applications. It shows how efficiently an application uses system resources. High GC throughput means fewer interruptions and better performance. Low throughput can lead to longer pauses and higher computing costs. Factors affecting GC throughput include performance issues, incorrect GC settings, and resource shortages. Addressing these factors helps optimize GC throughput and improve application performance.

Inspect the contents of the Java Metaspace region

The post outlines the regions of JVM memory, focusing on the Metaspace, which contains class metadata. It offers five methods to inspect loaded classes: using verbose flags for versions 8 and 9+, invoking jcmd, a programmatic approach, and performing Heap Dump analysis. Each method is described for practical usage.

Java String intern(): Performance impact

The java.lang.String#intern() method can significantly reduce memory usage by eliminating duplicate strings in Java applications. A comparison of two programs—one utilizing intern() and the other not—demonstrated that the intern() method reduced memory consumption from 1.08GB to 38.37MB at the cost of increased response time.

Java String intern(): Interesting Q & A

The intern() function in Java's String class optimizes memory usage by managing a pool of string objects in the JVM. When invoked, it checks for existing strings, reusing them if present to eliminate duplicates. While beneficial for memory efficiency, using intern() can negatively impact application response time compared to other methods like string deduplication.

Garbage Collection CPU Statistics

Garbage Collection events predominantly occur in the Java application layer, termed 'User' time, where the Garbage Collector identifies and marks active objects and evicts unreferenced ones. 'Sys' time represents the time spent in the Operating System/Kernel for memory allocation, deallocation, and disk I/O activities. Overall 'CPU' time combines both 'User' and 'Sys' time.

In which region intern strings are stored?

The intern() function in Java's String class helps eliminate duplicate string objects, reducing memory usage by storing interned strings in the JVM's heap region. This post includes practical examples, performance observations from a sample program, and highlights the significance of enabling garbage collection logging for memory management insights.

Up ↑