In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let’s discuss how to make threads go into BLOCKED state.Continue reading “Chaos Engineering – Blocked Threads”
In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let’s discuss how to simulate thread leaks. ‘java.lang.OutOfMemoryError: unable to create new native thread’ will be thrown when more threads are created than the memory capacity of the device. When this error is thrown, it will disrupt the application’s availability.Continue reading “Chaos Engineering – Thread Leak”
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?”
In this series of chaos engineering articles, let’s discuss how to simulate CPU consumption to spike up to 100% on a host (or container). CPU consumption will spike up whenever a thread goes on an infinite loop. Here is a sample program from the open-source BuggyApp application, which would cause the CPU to spike up.Continue reading “Chaos Engineering – Simulating CPU spike”
yCrash app is a non-intrusive, secure, instant root cause analysis tool. It captures thread dump, heap dump, GC log, netstat, vmstat, top, and several more artifacts, right when the problem is happening in the production. It instantly analyzes all the artifacts & generates a root cause analysis report in the dashboard. Watch this below video clip to get a detailed overview of yCrash!