Anyone hit a limit on TC 4.1.x Mem Usage size (or other unexpected limit)
with tomcat.exe on w2k?
We are running TC 4.1.29, which is running as a service using tomcat.exe.
The -Xmx (on the service in the registry as a JVM Option) is set to 1580m as
the machine has plenty of RAM and lots of data (app is memory hungry).
When the Windows Task Manager Mem Usage gets above 600mb (sometimes as high
as 700mb), tomcat slows to a crawl and a few requests later the server dies
with the following error in the stderr.log. The threads get to about
200-260 for the tomcat.exe (MaxProcesses set to 500).
Severe: Caught exception executing
org.apache.tomcat.util.net.TcpWorkerThread@(protected)
java.lang.OutOfMemoryError: unable to create new native thread at
java.lang.Thread.start(Native Method)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.<init>(ThreadPool.
java:630)
We thought it might be related to the native thread pool being set too high,
so set the -Xss to 16k, but same results.
When we run with the same JVM Options in catalina.bat and launch from the
startup.bat (run it in the console) the Mem Usage scales over the 1gb mark
and the threads go to about 800 without any issue as expected.
Unfortunately running it as a console is not a desirable option for us.
Platform details:
Compaq Proliant server
4GB Ram
Windows 2k Server
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Server VM (build 1.4.2_03-b02, mixed mode)
Apache Tomcat v4.1.29
-server
-Xms1580
-Xmx1580
-Xss16k
Any help greatly appreciated.