In this series of simulating and troubleshooting performance problems in Kotlin 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. Kotlin CPU Spike Program Here is a sample kotlin program, which generates the... Continue Reading →
Chaos Engineering – Metaspace OutOfMemoryError
JVM memory has following regions: Fig: JVM memory regions a. Young Generation b. Old Generation c. Metaspace d. Others region When you encounter 'java.lang.OutOfMemoryError: Metaspace' it indicates that the Metaspace region in the JVM memory is getting saturated. Metaspace is the region where metadata details that are required to execute your application are stored. In... Continue Reading →
Chaos Engineering – Heavy I/O
Coming soon!
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 make threads go into BLOCKED state. Sample Program Here is a sample program from open source BuggyApp application, which would make threads go into BLOCKED state. A thread will enter into a... Continue Reading →
Chaos Engineering – Stackoverflow Error
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 the ‘StackOverflow errors. StackOverflow error is a runtime error, which is thrown when a thread's stack size exceeds its allocated memory limit. Sample Program Here is a sample program from the... Continue Reading →
Chaos Engineering – Thread Leak
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... Continue Reading →
Chaos Engineering – Java heap space
Coming soon!
Chaos Engineering – Deadlock
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 deadlock. What is Deadlock? Deadlock is prone in multi-threaded applications. The technical definition of a 'Deadlock' goes like this: Deadlock is a situation where a set of processes are blocked because... Continue Reading →
Chaos Engineering – Simulating OutOfMemoryError
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 'java.lang.OutOfMemoryError: Java Heap space' problem. This 'java.lang.OutOfMemoryError: Java Heap space' will be thrown by the application when the application generates more objects than the allocated heap size. Java OutOfMemoryError Program Here... Continue Reading →
Chaos Engineering – Simulating CPU spike
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 →