Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat线程就绪_Java_Memory_Tomcat_Memory Leaks_Tomcat6 - Fatal编程技术网

Java Tomcat线程就绪

Java Tomcat线程就绪,java,memory,tomcat,memory-leaks,tomcat6,Java,Memory,Tomcat,Memory Leaks,Tomcat6,我在服务器上部署了一个web应用程序。 我创建了一个脚本,以便在应用程序上执行加载(压力测试)。压力使用10个线程生成不同的请求。 我的状态如下,如tomcat的经理所示: 可用内存:34.57 MB总内存:1166.43 MB最大内存:1166.43 MB 最大线程数:200当前线程数:59当前线程忙:12 最大处理时间:60295419毫秒处理时间:1.8809264E7秒请求计数:233217错误计数:8100字节接收:4.11 MB字节发送:7493.59 MB 根据此状态,12个线程忙

我在服务器上部署了一个web应用程序。 我创建了一个脚本,以便在应用程序上执行加载(压力测试)。压力使用10个线程生成不同的请求。 我的状态如下,如tomcat的经理所示:

可用内存:34.57 MB总内存:1166.43 MB最大内存:1166.43 MB

最大线程数:200当前线程数:59当前线程忙:12 最大处理时间:60295419毫秒处理时间:1.8809264E7秒请求计数:233217错误计数:8100字节接收:4.11 MB字节发送:7493.59 MB

根据此状态,12个线程忙于处理请求,而其他47个线程处于就绪状态。 最初分配的1166.43MB内存中有34.57MB可用。我怀疑,由于tomcat没有销毁未使用的就绪线程,内存没有释放,但我不确定。 有人有其他见解吗?有人知道如何超时准备线程吗


谢谢

那47条线放在tomcats里。它们将在您的应用程序期间保持活动状态。创建和销毁线程可能非常耗时,因此让线程在池中等待工作可以加快应用程序的速度,而不是在每次收到请求时创建新线程。请参阅有关的tomcat文档(例如,增加/减少最大线程数)



感谢您的回复。你认为这会解决内存问题吗?我的意思是,你是否像我那样认为,由于就绪线程没有释放,内存也没有释放?@Clint Feher线程本身不会占用太多内存(除非你使用大量的线程局部变量,这是不可能的)。您必须查看服务器的其他部分,以找到正在使用内存的位置,例如,请参阅:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
    maxThreads="60" minSpareThreads="4"/>