Hi guys, I have a nagging problem. I am running Tomcat 3.3 with Apache 1.3 on Redhat 7.2, kernel 2.4.17, Sun's Java 1.3.1 The problem I am having is that sometimes Tomcat refuses to spawn new java thread. If I look at the processes there would be exactly 218 java processes/threads running. Looks like this is the maximum number of processes Tomcat and/or java can spawn. Restarting Tomcat helps - until next time. I suspect that some .jsp and/or servlets do not properly quit/close/free resources and Tomcat still thinks they are running and cannot clear those threads up. Workaround, I thought, would be to bump up maximum number of Tomcat threads. I do restart Tomcat every night after logrotate, so I thought if I set maxThreads to something bigger than default (200, according to Tomcat docs), it would be enough to keep me running. Here is a snippet from my server.xml:
<Ajp12Connector port="8007" ajpidFile="/usr/local/tomcat/conf/ajp12.id" address="127.0.0.1" maxThreads="1" tomcatAuthentication="false" /> <Ajp13Connector port="8009" address="127.0.0.1" maxSpareThreads="10" maxThreads="400" tomcatAuthentication="false" /> Setting maxThreads for Ajp13 connector to 400 did not change anything. Still, every once in a while I will have 218 java threads an Tomcat will stop taking new connections. I have a couple of questions regarding this stuff: 1. How do I increase the number of Tomcat threads? Where does number 218 come from? 2. Is there any way to tell what each java thread running? This way I could tell programmers what ties Tomcat up so they can fix the code - I am not much of a programmer :-(. Am I looking in the correct direction at all? Could it be something completely different?