Concurrency And Server-Side Networking APIs — Part 4
The original article can be found here. Introduction
Read article: Concurrency And Server-Side Networking APIs — Part 418 articles tagged Troubleshooting.
The original article can be found here. Introduction
Read article: Concurrency And Server-Side Networking APIs — Part 4This is part three of an exploration of how concurrency in networking APIs works in Unix-like operating systems and Java technology. This article now looks at the Java equivalents of several C-based server implementations that have been presented. If you haven’t read this series from the beginning,…
Read article: Concurrency And Server-Side Networking APIs — Part 3Several terms have been used liberally throughout articles on thinkmiddleware.com. A moment should be taken to formally define them. I am going to attempt to present these concepts in as generic a sense as possible, but the truth of the matter is, every OS has its own threading model and…
Read article: Threads, Threads Everywhere. And, Not a Needle In SightIt happens. End users are complaining about a slow system or a request that never returned. You log into a production middleware server and notice that a java process is consuming an entire CPU or worst every available CPU on the box. It has happened again–a thread(s) has gone into an infinite loop…
Read article: Mapping An LWP Using Excessive CPU Time To a Java ThreadThread dumps are the basic diagnostic tool for JVMs. Thread dumps present a partial state of each Java thread in a running JVM. I say partial because it doesn’t present all information that captures the state of a Java thread. The state of a running Java thread is stored in a series of data…
Read article: Generating Thread DumpsThis article isn't a comprehensive JVM Java heap sizing and garbage collection tuning document; its goal is simply to outline options for identifying which type of Object(s) are consuming the majority of memory in a running JVM--troubleshooting memory leaks in the Java heap. As usual, I focus on…
Read article: My JVM ran out of memory! What objects are consuming all of the memory?In this article, I wanted to present a brief tutorial regarding troubleshooting deadlock conditions in JVMs. Before one can troubleshoot a deadlock condition, one needs to understand what it is; to this end, I have written a simple Java program called DeadLock.java, which is guaranteed to very…
Read article: Troubleshooting Deadlock Conditions With Monitor Locks In Java Virtual MachinesI was recently asked if there was a way to generate a Thread Dump from a JVM running as a Windows Service. It occured to me that I had a similar issue during my Masters Project when I was trying to generate a thread dump from a Cygwin xterm; Googling at the time turned up no good way of accomplishing the task. But, I knew that you could use the Java Debugger that ships with the Sun JDK, jdb, to generate a thread dump of all non-System Threads in a JVM. I posed this as a solution to generating Thread Dumps from a JVM running as a Windows Service.
Read article: Generating Thread Dumps from a Sun or IBM JVM Running As A Windows Service