On Tue, Aug 18, 2015 at 1:46 PM, Mark Thomas ma...@apache.org wrote:
On 18/08/2015 18:16, Christopher Schultz wrote:
Musafir,
On 8/18/15 1:08 PM, Mark Thomas wrote:
On 18/08/2015 17:10, musafir wrote:
On Tue, Aug 18, 2015 at 11:57 AM, Mark Thomas ma...@apache.org
wrote:
On 18/08/2015 16:50, musafir wrote:
Hello, ugraded tomcat from 6.0.36(jdk 6) to tomcat7.0.57
(jdk7).. os:centos 6.6 ...seeing high cpu spike after
upgrade doing top and thread dump shows only thread
that is always using cpu is:
How have you matched the thread using CPU in top with the
thread in the thread dump?
Mark
ContainerBackgroundProcessor[StandardEngine[Catalina]]
daemon prio=10 tid=0x7ff8fc599800 nid=0xc1d2e waiting on
condition [0x7ff803ffe000] java.lang.Thread.State:
TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native
Method) at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.
run(ContainerBase.java:1513)
at java.lang.Thread.run(Thread.java:745)
disabled backgroundProcessorDelay
(backgroundProcessorDelay=-1) ..don't see any thread that is
always using cpu..
Q: why backgroundProcessorDelay will cause cpu spike. Is this
disabled in tomcat6 by default? Q: will disabling
backgroundProcessorDelay cause any other performance issues
with tomcat7.
Thanks for Help!!
Regards
Hi Mark pid java
top -H -p pid for thread id cpu eating thread
kill -3 pid for thread dump
and hexa nid for thread id
Then it looks like you did something wrong because the thread you
identified is sleeping. It won't be using any CPU.
Assuming that the thread has been mis-identified, could it be this?
https://bz.apache.org/bugzilla/show_bug.cgi?id=58151
That bug was filed/fixed against trunk/8.0. Any chance there is a
similar bug in Tomcat 7?
It doesn't look like it. That bug was introduced when the non-blocking
I/O support was added in Tomcat 8. The reads in Tomcat 7 look OK.
top + lwp id + thread dump is the way to get to the bottom of this.
Something isn't right in the description above.
Mark
thread was sleeping at that point of time during initial captureran
jstack few times.. going through tomcat source for thisjava thread and
verifying tomcat 7 config we identified reloadable was set true for one
of the application's context..disabling it fixed issue .. Appreciate
everyone's response..
[root@app01 logs]# echo $(date) jstack -F 590848 |awk '/Thread
'593818:' /,/^$/'
Tue Aug 18 12:42:34 CDT 2015
Attaching to process ID 590848, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.75-b04
Thread 593818: (state = IN_NATIVE)
- java.io.UnixFileSystem.canonicalize0(java.lang.String) @bci=0 (Compiled
frame; information may be imprecise)
- java.io.UnixFileSystem.canonicalize(java.lang.String) @bci=140, line=172
(Compiled frame)
- java.io.File.getCanonicalPath() @bci=27, line=618 (Compiled frame)
- org.apache.naming.resources.FileDirContext.file(java.lang.String)
@bci=39, line=774 (Compiled frame)
-
org.apache.naming.resources.FileDirContext.doGetAttributes(java.lang.String,
java.lang.String[]) @bci=2, line=398 (Compiled frame)
-
org.apache.naming.resources.BaseDirContext.getAttributes(java.lang.String,
java.lang.String[]) @bci=41, line=1157 (Compiled frame)
-
org.apache.naming.resources.BaseDirContext.getAttributes(java.lang.String)
@bci=3, line=1110 (Compiled frame)
-
org.apache.naming.resources.ProxyDirContext.getAttributes(java.lang.String)
@bci=35, line=882 (Compiled frame)
- org.apache.catalina.loader.WebappClassLoader.modified() @bci=57,
line=1026 (Compiled frame)
- org.apache.catalina.loader.WebappLoader.modified() @bci=11, line=500
(Interpreted frame)
- org.apache.catalina.loader.WebappLoader.backgroundProcess() @bci=8,
line=420 (Compiled frame)
- org.apache.catalina.core.ContainerBase.backgroundProcess() @bci=70,
line=1345 (Compiled frame)
-
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(org.apache.catalina.Container,
java.lang.ClassLoader) @bci=27, line=1546 (Compiled frame)
-
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(org.apache.catalina.Container,
java.lang.ClassLoader) @bci=115, line=1556 (Compiled frame)
-
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(org.apache.catalina.Container,
java.lang.ClassLoader) @bci=115, line=1556 (Compiled frame)
-
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
@bci=108, line=1524 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)
[root@app01 logs]# echo $(date) jstack -F 590848 |awk '/Thread
'593818:' /,/^$/'
Tue Aug 18 12:42:37 CDT 2015
Attaching to process ID 590848, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.75-b04
Thread 593818: (state = BLOCKED