Search

GC easy – Universal Java GC Log Analyser

Category

Educational – Best Practises

“I don’t have to worry about Garbage collection” – Is it true?

I have heard a few of my developer friends say: “Garbage Collection is automatic. So, I do not have to worry about it.“ The first part is true, i.e., “Garbage Collection is automatic” on all modern platforms – Java, .NET, Golang, Python… But the second part i.e., “I don’t have to worry about it.” – may not be true. It is arguable, questionable. Here is my case to showcase the importance of Garbage Collection:

Continue reading ““I don’t have to worry about Garbage collection” – Is it true?”

How many millions of dollars enterprises waste due to Garbage collection?

We truly believe enterprises are wasting millions of dollars in garbage collection. We equally believe enterprises are wasting these many millions of dollars even without knowing they are wasting. Intent of this post is to bring visibility on how several millions of dollars are wasted due to garbage collection.

Continue reading “How many millions of dollars enterprises waste due to Garbage collection?”

Java threads – may not be memory efficient?

Java applications tend to contain hundreds (sometimes thousands) of threads. The majority of these threads are in WAITING, TIMED_WAITING (i.e., dormant) state, while only a small portion of the threads are actively executing lines of code. So, we were curious to know whether dormant threads consume less memory than active threads.

To figure out an answer to this question, we conducted a small study. Our findings were interesting, thus sharing with you.

Continue reading “Java threads – may not be memory efficient?”

Best practices: Java memory arguments for Containers

When you are running your Java application in physical servers, you would have been using ‘-Xmx’ JVM argument to specify the Java heap size. If you are porting your application to Containers, you might be wondering how to configure Java heap size in the container’s world? Are there any best practices? In this article, we will discuss the possible JVM arguments that can be used to specify the Java heap size and the best option to choose. 

Continue reading “Best practices: Java memory arguments for Containers”

Difference between InitialRAMFraction, MinRAMFraction, MaxRAMFraction

Coming soon…

Difference between InitialRAMPercentage, MinRAMPercentage, MaxRAMPercentage

This article attempts to clarify the difference between InitialRAMPercentage, MinRAMPercentage, MaxRAMPercentage JVM arguments. These arguments have been introduced since Java 8 update 191. They are used to configure your Java application’s heap size when you are running it in the Physical server or in the container. In this article, let’s review their differences.

Continue reading “Difference between InitialRAMPercentage, MinRAMPercentage, MaxRAMPercentage”

Buggy App – Simulate performance problems

Buggy App is a simple java application that simulates different performance problems like Memory Leak, OutOfMemoryError, CPU spike, thread leak, StackOverflowError, deadlock, unresponsiveness, …

Continue reading “Buggy App – Simulate performance problems”

What is Garbage collection log, Thread dump, Heap dump?

Java Virtual Machine (JVM) generates 3 critical artifacts that are useful for optimizing the performance and troubleshooting production problems. Those artifacts are:

Continue reading “What is Garbage collection log, Thread dump, Heap dump?”

Simple & effective G1 GC tuning tips

G1 GC is an adaptive garbage collection algorithm that has become the default GC algorithm since Java 9. We would like to share a few tips to tune G1 Garbage collector to obtain optimal performance.

Continue reading “Simple & effective G1 GC tuning tips”

Powered by WordPress.com.

Up ↑