Dear All,
I have problems with very slow staring up time of tomcat (about 15 minutes).
I have tried many solutions but still the same result. I have took this
thread dump using "kill -3 tomcatpid" while the 15 minutes of no response
and here is the dump:
Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_10-b03 mixed
mode):
"Low Memory Detector" daemon prio=1 tid=0x00002aaaaaba1820 nid=0x70f9
runnable [0x0000000000000000..0x0000000000000000]
"CompilerThread1" daemon prio=1 tid=0x00002aaaaab9fbf0 nid=0x70f8 waiting on
condition [0x0000000000000000..0x0000000040c5a400]
"CompilerThread0" daemon prio=1 tid=0x00002aaaaab9e640 nid=0x70f7 waiting on
condition [0x0000000000000000..0x0000000040b59580]
"AdapterThread" daemon prio=1 tid=0x00002aaaaab9cf20 nid=0x70f6 waiting on
condition [0x0000000000000000..0x0000000000000000]
"Signal Dispatcher" daemon prio=1 tid=0x00002aaaaab9bbc0 nid=0x70f5 waiting
on condition [0x0000000000000000..0x0000000000000000]
"Finalizer" daemon prio=1 tid=0x00002aaaaab87720 nid=0x70f4 in Object.wait()
[0x0000000040857000..0x0000000040857d20]
at java.lang.Object.wait(Native Method)
- waiting on <0x00002aacefbf8c58> (a
java.lang.ref.ReferenceQueue$Lock)
at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x00002aacefbf8c58> (a
java.lang.ref.ReferenceQueue$Lock)
at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=1 tid=0x00002aaaaab86ef0 nid=0x70f3 in
Object.wait() [0x0000000040756000..0x0000000040756ea0]
at java.lang.Object.wait(Native Method)
- waiting on <0x00002aacefb404d8> (a
java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:474)
at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x00002aacefb404d8> (a
java.lang.ref.Reference$Lock)
"main" prio=1 tid=0x00000000401161f0 nid=0x70ed runnable
[0x00007fffffdc1000..0x00007fffffdc35d0]
at java.io.UnixFileSystem.list(Native Method)
at java.io.File.list(File.java:937)
at
org.apache.naming.resources.FileDirContext.list(FileDirContext.java:894)
at
org.apache.naming.resources.FileDirContext.list(FileDirContext.java:311)
at
org.apache.naming.resources.ProxyDirContext.list(ProxyDirContext.java:482)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePathsWebInf(TldConfig.j
ava:632)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePathsWebInf(TldConfig.j
ava:647)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePathsWebInf(TldConfig.j
ava:647)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePathsWebInf(TldConfig.j
ava:647)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePathsWebInf(TldConfig.j
ava:647)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePathsWebInf(TldConfig.j
ava:647)
at
org.apache.catalina.startup.TldConfig.tldScanResourcePaths(TldConfig.java:60
1)
at
org.apache.catalina.startup.TldConfig.execute(TldConfig.java:282)
at
org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:43
07)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4144)
- locked <0x00002aacefbf8e48> (a
org.apache.catalina.core.StandardContext)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
60)
- locked <0x00002aacefbf9120> (a java.util.HashMap)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883
)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:120)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
- locked <0x00002aacefbf9160> (a
org.apache.catalina.core.StandardHost)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
- locked <0x00002aacefbf9160> (a
org.apache.catalina.core.StandardHost)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
- locked <0x00002aacefbf94c0> (a
org.apache.catalina.core.StandardEngine)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:448)
- locked <0x00002aacefbf94c0> (a
org.apache.catalina.core.StandardEngine)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
- locked <0x00002aacefbf9658> (a
[Lorg.apache.catalina.Service;)
at
org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
"VM Thread" prio=1 tid=0x00002aaaaab829f0 nid=0x70f2 runnable
"GC task thread#0 (ParallelGC)" prio=1 tid=0x0000000040132d50 nid=0x70ee
runnable
"GC task thread#1 (ParallelGC)" prio=1 tid=0x0000000040133bd0 nid=0x70ef
runnable
"GC task thread#2 (ParallelGC)" prio=1 tid=0x0000000040134a50 nid=0x70f0
runnable
"GC task thread#3 (ParallelGC)" prio=1 tid=0x00000000401358d0 nid=0x70f1
runnable
"VM Periodic Task Thread" prio=1 tid=0x00002aaaaaba3470 nid=0x70fa waiting
on condition
Please help me to understand this problem and how to fix it.
Note:
A clean copy of tomcat with no application starts in 1 seconds!!
After deploying the same application on it took about 3 seconds!!
The only difference I can tell is the slow one have a symbolic link in its
webapps while the other not.
Thanks a lot