我这有个系统是以tomcat5.5+sqlserver2000配置的。我将tomcat使用的初始内存和最大内存分别设置为100M和1024M,然后通过server.xml修改相关的线程数,但minSpareThreads和maxSpareThreads设置的很大或者应经足够小了,通过压力测试,看tomcat5.exe进程占用的内存数的走向图没有什么变化,比如通过压力测试可以使tomcat占到最大800M内存,而压力测试过后放置一晚上tomcat会回落并一直保持在600M。
但通过下面的解释tomcat占用的内存是否应该有变化
minSpareThreads Tomcat初始化时创建的线程数。
maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要
的socket线程。
下面是我分别设置的线程参数
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080"
maxHttpHeaderSize="8192"
maxThreads="10000" minSpareThreads="1000" maxSpareThreads="2000"
enableLookups="false" redirectPort="8443" acceptCount="10000"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080"
maxHttpHeaderSize="8192"
maxThreads="10000" minSpareThreads="50" maxSpareThreads="100"
enableLookups="false" redirectPort="8443" acceptCount="10000"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
|