-
How JVMTI tagging can affect GC pauses
This post is analyzing why and how Plumbr Agents extended the length of GC pauses on certain occasions. Troubleshooting the underlying problem revealed interesting insights about how JVMTI tagging is handled during GC pauses.
Filed under: Garbage Collection
-
Revealing the length of Garbage Collection pauses
Analyzing the data from 300+ different JVMs revealed the data about how badly can the GC-added latency affect your application. For example, 14% of the applications stop the application threads for more than a minute to reclaim the memory.
Filed under: Garbage Collection
-
Reducing the frequency of major GC pauses
This post will discuss a technique to reduce the burden garbage collection pauses put on the latency of your application. There are applications out there which have gotten rid of the constly Full GC events. Getting rid of major GC events is truly a complex exercise, but reducing the frequency of those long pauses is something every deployment can achieve.
Filed under: Garbage Collection
-
Garbage Collection: increasing the throughput
Using a bit unorthodox example of a python digesting pigs I describe a particular GC optimizing exercise. Using the example given I explain how certain configuration parameters can result in capacity reduction or throughput improvement.
Filed under: Garbage Collection
-
Debugging to understand Finalizers
java.lang.Object contains a very special method called finalize(). If you have ever wondered why and how the Finalizers should be used, take a look at our through case study, so your apps would not die with OutOfMemoryError.
Filed under: Garbage Collection
-
Tuning GC – it does not have to be that hard
Optimizing GC pauses is a complex task. If you do not believe our words, check out the recent LinkedIn experience in garbage collection optimization. It is a complex and tedious undertaking, so we are glad to report that Plumbr has a whole lot simpler solution in mind
Filed under: Garbage Collection
-
Allocating memory for the JVM: a case study
Capacity planning for a new application is tricky at best. This post is an example about correlation between optimal heap size and live data set.
Filed under: Garbage Collection
-
GC impact on throughput and latency
All Java applications are impacted by garbage collection runs. In the post we explain how Full GCs affect your system's throughput and latency. And more importantly - why you should care and what can you do to reduce the impact.
Filed under: Garbage Collection
-
RMI enforcing Full GC to run hourly
Did you know that using RMI either as a publisher or consumer will by default trigger a Full GC to run once in an hour? Discovering this for the first time is certain to be a surprise.
Filed under: Garbage Collection
-
G1 vs CMS vs Parallel GC
We reran an experiment comparing the JIRA performance under load when using different GC algorithms -XX:+UseParallelOldGC, -XX:+UseConcMarkSweepGC, -XX:+UseG1GC were measured for throughput and latency.
Filed under: Garbage Collection