Search

Fast thread

Universal Java Thread Dump Analyzer

Category

Educational – Best Practises

TROUBLESHOOT OUTOFMEMORYERROR: UNABLE TO CREATE NEW NATIVE THREAD

There are 8 flavors of java.lang.OutOfMemoryError. In these 8 flavors java.lang.OutOfMemoryError: unable to create new native thread is one of the commonly occurring flavor. This type of 'OutOfMemoryError' is generated when an application isn’t able to create new threads. This error can surface... Continue Reading →

HOW TO TROUBLESHOOT SUDDEN CPU SPIKES?

 This is an old, outdated article. We have devised a better and simpler strategy to troubleshoot CPU spikes in this article.  Your Java application has been running fine, but all of a sudden CPU consumption starts to go higher and higher... Continue Reading →

HOW TO TAKE THREAD DUMPS? – 8 OPTIONS

Thread dumps are vital artifacts to diagnose CPU spikes, deadlocks, poor response times, memory problems, unresponsive applications, and other system problems. There are great online thread dump analysis tools such as http://fastthread.io/, which can analyse and spot problems. But to... Continue Reading →

SERIES 1: PERFORMANCE ENGINEERING INTERVIEW QUESTIONS

In this series, we will see the interview questions that can be asked related to external connectivity. How will you find the number of connections established with your Databases or SOR or any external services)? There is a Unix/Windows command... Continue Reading →

CIRCULAR DEADLOCK

Description Dining Philosophers is a classic computer science problem that happens in concurrent programming. Dining philosophers problem will result in circular deadlock problem. Circular deadlock is a variant of deadlock problem. Once deadlock happens, the only way to recover from... Continue Reading →

DEADLOCK

Description Wikipedia aptly defines deadlock is a situation in which two or more competing actions are each waiting for the other to finish, and thus neither ever does. If deadlock happens in a JVM, the only way to recover from... Continue Reading →

GRACEFULLY AND QUICKLY EVICT HTTP PERSISTENT CONNECTIONS

Title of this article might sound like an oxymoron. How can persistent HTTP connections be gracefully and at the same time quickly evicted? By Gracefully I mean here the client applications to close the connections by themselves without jeopardizing the... Continue Reading →

MEMORY LEAK IN JAVA EXECUTOR!

I was surprised to witness the Java Executor behavior – which caused “java.lang.OutOfMemoryError: unable to create new native thread” in our application. I would like to share my surprise (i.e. problem) and resolution to it.

DATABASE CONNECTION POOL CONFIGURATION RECOMMENDATION

Configuring database connection pool is absolutely critical to the performance of the application. Configuring database connection pool is a double-edged sword; too strict configuration would degrade the application’s response time, whereas too lenient configuration would consume a lot of resources... Continue Reading →

Powered by WordPress.com.

Up ↑