Home » Author Archives: Nikita Salnikov Tarnovski

Author Archives: Nikita Salnikov Tarnovski

GC tuning in practice

java-logo

Tuning Garbage Collection is no different from any other performance-tuning activities. Instead of giving in to temptation for tweaking random parts of the application, you need to make sure you understand the current situation and the desired outcome. In general it is as easy as following the following process: State your performance goals Run tests Measure Compare to goals Make ...

Read More »

What is Garbage Collection?

java-logo

The following is an example from our Garbage Collection Handbook which will be published in the forthcoming weeks. In the meanwhile, take your time to get yourself familiar with the basics of the Garbage Collection – this is going to be the very first chapter of the book. At the first sight, garbage collection should be dealing with what the name suggests – finding ...

Read More »

Logging stop-the-world pauses in JVM

java-logo

Different events can cause the JVM to pause all the application threads. Such pauses are called Stop-The-World (STW) pauses. The most common cause for an STW pause to be triggered is garbage collection (example in github) , but different JIT actions (example), biased lock revocation (example), certain JVMTI operations , and many more also require the application to be stopped. ...

Read More »

Turning on GC logging at runtime

java-logo

There is always the next JVM behaving badly. And you know by heart that if you just could have had those few startup options exposing some more information about what is going on, you might have stood a chance of actually fixing the goddamn thing. But nope, exactly the flag you need (be it -XX:+HeapDumpOnOutOfMemoryError or -XX:+PrintGCDetails) is always missing. ...

Read More »

What is wrong with troubleshooting tools?

software-development-2-logo

“Troubleshooting is a form of problem solving applied to repair failed software. It is a logical, systematic search for the source of a problem so that it can be solved, and so the software can be made operational again.” This definition from Wikipedia is using fancy words to tell you that – whenever your application is broken, somebody has to ...

Read More »

Minor GC vs Major GC vs Full GC

java-logo

While working with the GC pause detection functionality in Plumbr I was forced to work my way through loads of articles, books and presentations about the subject. Throughout the journey, I was repeatedly confused about the (mis)use of the Minor, Major and Full GC events. This led to this blog post where I hope I manage to clear some of ...

Read More »

How JVMTI tagging can affect GC pauses

java-logo

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. Spotting a problem One of our customers complained about the application being significantly less responsive with the Plumbr Agent attached. Upon analyzing the GC logs, we found an ...

Read More »

How to define performance requirements?

software-development-2-logo

“The app is slow, can you make sure it is fast.” The quote above should send shivers down the spine for any experienced engineer. In our previous posts we have constantly stressed out the part of “measuring not guessing” when dealing with performance tuning. Even more important though is to have defined the meaning of “fast”. Unless you have a definition for the ...

Read More »

Self-healing JVM

java-logo

This post is an example about an application where the first solution to each and every IT problem – “have you tried turning it off and on again” – can backfire and do more harm than good. Instead of turning things off and on, we have an application that can literally heal itself: it fails at the beginning, but starts ...

Read More »
Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close