Search

GC easy – Universal Java GC Log Analyser

Category

Educational – Best Practises

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 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”

What is Java Heap Fragmentation?

Java Heap fragmentation is an interesting problem, which triggers long pausing full garbage collection cycles. In this article we would like to attempt to explain the heap fragmentation. 

Let’s say developer write a code ‘new BMW()’. This will create a new BMW object in the heap memory space. Example:

Continue reading “What is Java Heap Fragmentation?”

Avoid passing – XX:+UseCompressedOops

Since we are analyzing thousands of Garbage Collection logs every single day through our GCeasy tool, we are noticing several java applications still continuing to use ‘-XX:+UseCompressedOops’ JVM argument. Actually, it’s not required to pass ‘-XX:+UseCompressedOops’ JVM argument if you are running in Java SE 6 update 23 and later. Compressed oops is supported and enabled by default in Java SE 6u23 and later versions.

Continue reading “Avoid passing – XX:+UseCompressedOops”

Surviving Covid19 – Effective way to cut-down IT spending

Covid19 pandemic has already put a deep economic dent globally. US stock market has experienced the worst crash since 1987. Sooner or later, Enterprises have to figure out a plan to run their organizations on tight budgets. In this below 10 minute interview, our architect Ram Lakshmanan is sharing an effective way to cut down enterprise IT spending 20 – 30% without doing any lay-offs.

Continue reading “Surviving Covid19 – Effective way to cut-down IT spending”

Powered by WordPress.com.

Up ↑