We experienced large waits as well as the associated CPU spikes, when using distributed XA transactions in an ATG/JBOSS application server to Oracle database environment. Oracle “support” was, per usual, of absolutely no help is diagnosing the situation. I honestly…
Month: July 2013
Which threads are talking to the database?
Often while troubleshooting, I will want to know where the bottleneck is. If I think the database may be the culprit, I will run the following to print those threads that are making database calls… -bash-4.1$ jstack 20711 | awk…
Determining the source of high java CPU
This post is related to a situtation in which you find yourself with high CPU utilization, but can’t determine the source. This will gather thread dumps and the CPU used by each thread. For the threads that use a large…
Which threads are running on a given CPU
We had a need to see which threads were running on a given CPU, as utilization was not balanced amongst the cores. We used what is below to do so. In our case, our java PID was 488. -bash-4.1$ jstack…
Tying a linux socket file descriptor to a port and IP
While troubleshooting a java thread that appeared to be hung, but not blocked, we used the following troubleshooting process. You can use what is below if you have a thread “stuck” waiting to receive data from another socket. We see…
Joining data in Pig
If you are an RDBMS person that is used to joining data from tables, you will be happy to know that this capability exists in Pig. Below is a very simple example. grunt> fs -cat /people 1,1,steve howard 2,1,becky howard…