Search

Fast thread

Universal Java Thread Dump Analyzer

Category

Educational – Best Practises

Performance impact of java.lang.System.getProperty()

'java.lang.System.getProperty()' is a common API used by Java developers to read the System properties that are configured during application startup time. i.e. when you pass "-DappName=buggyApp" as your application's startup JVM argument, the value of the 'appName' system property can... Continue Reading →

Java threads – may not be memory effecient?

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... Continue Reading →

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: Garbage collection (GC) logThread DumpHeap Dump In this article let us try to understand these 3 critical artifacts,... Continue Reading →

Threads throwing exception

Threads that are throwing Exception or Errors should be investigated. Because those threads stack trace indicates the origin of the problem. Below is the stack trace of the thread that is throwing java.lang.OutOfMemoryError: Thread 0x3ff781e764e0 at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:48) at java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;... Continue Reading →

Powerful troubleshooting: Marrying Thread dumps and top -H

I told my manager that I like the title of this article. He said to me that’s not surprising, because I am still an eligible bachelor. No wonder I like the word “marrying” in the title. But for folks like... Continue Reading →

7 JVM arguments of Highly Effective Applications

At the time (March 2020) of writing this article there are 600+ arguments that you can pass to JVM just around Garbage collection and memory. If you include other aspects, total JVM arguments count will easily cross 1000+. 😊. It's... Continue Reading →

Java – Missing font – Crashing App!

Eclipse MAT,  Heaphero are all popular java tools to analyze large size heap dumps. Recently we ran in to an interesting problem when trying to analyze a heap dump file in Eclipse MAT. Tool was crashing because of missing font... Continue Reading →

Log4j Bug – Slows down your app

Recently we were troubleshooting a popular SaaS application. This application was slowing down intermittently. To recover from the problem, the application had to be restarted. This application was slowing down sometimes during high traffic volume periods; sometimes during low traffic... Continue Reading →

Load balancing: Round robin may not be the right choice

Based on our experience, we believe Round robin may not be an effective load balancing algorithm, because it doesn't equally distribute traffic among all nodes. You might wonder how this is possible? Yes, it is possible 🙂 How Round robin... Continue Reading →

Powered by WordPress.com.

Up ↑