jboss-eap-5.1堆内存不足

时间:2014-12-04 11:14:16

标签: jboss threadpool

我的系统有时会耗尽内存。每次系统耗尽堆内存时,我都会在日志中看到以下错误

Maximum number of threads (200) created for connector with address abc.com/192.168.1.45 and port 8080

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

由于创建了大量线程,JBoss崩溃了。当它尝试创建一个新应用程序时,应用程序停止响应并开始关闭应用程序服务器。

增加maxThreads参数将解决此问题。逐步这样做;过度提高maxThreads的值会导致性能问题,例如:

  • 内存使用率高
  • 由于JVM被强制进行上下文切换而导致的总体缓慢 经常在许多线程之间

maxThreads

中增加JBOSS_EAP_DIST/jboss-as/server/PROFILE/deploy/jbossweb.sar/server.xml修改
<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" 
   connectionTimeout="20000" redirectPort="8443" maxThreads="3000" 
   minSpareThreads="2000" maxKeepAliveRequests="-1" />

另见:Performance Tuning Guide - Chapter 2. Connectors