Am 27.02.2015 um 18:07 schrieb Christopher Schultz:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Peter,
On 2/27/15 11:21 AM, Peter Irbizon wrote:
Hi Chris, here are my dumps
http://www.filedropper.com/jvmthreaddump. It looks like it has
something to do with memcached.
There are a bunch of RUNNABLE threads, but sometimes the term
"RUNNABLE" in a Java thread dump doesn't actually mean "taking CPU
time right now". For example, the "main" thread is RUNNABLE but it's
waiting on accepting a socket connection (for a SHUTDOWN command) and
so it's effectively blocked, taking zero CPU time.
I'm not entirely sure what the Memcached threads actually do, but I
think they are in a similar situation: waiting for code to request
some communication with Memcached.
I agree, hard to say from those dumps what's consuming the CPU, could be
even GC threads. It's easier if threads are actually doing something,
not just hanging around and waiting for work.
If you have commandline access, use
top -H -p PID
to show the list of threads of your process (replace PID by the process
ID of your Java process) and check, what the thread numbers that are
active on the CPU are. Hopefully it is only a few threads. Then take the
thread number and translate it from decimal to hexadecimal and look for
it in the header lines of your thread dumps.
Example:
The thread
"Memcached IO over {MemcachedConnection to localhost/127.0.0.1:11215}"
prio=10 tid=0x025558d8 nid=0x34d3 runnable [0x9f4fe000]
from the dump will be shown on some Linuxes in top -H as thread id
0x34d3 = 13523
on others as
0x025558d8 = 39147736
If the thread ID doesn't occur in the thread dump at all, then it is
native threads (unlikely but possible).
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org