Wildfly增加线程数

时间:2015-03-03 09:33:50

标签: java multithreading configuration wildfly wildfly-8

我在Windows机器上以独立模式运行Wildfly-8.0.0.Final服务器。

要配置JVM内存分配,我编辑了$ JBOSS_HOME \ bin \ standalone.conf.bat,添加以下内容:

set "JAVA_OPTS=-Xms512M -Xmx2048M -XX:MaxPermSize=512M"

在控制台管理中>运行时间>平台> JVM我注意到内存是可以的(经过一段时间后,它被释放),但是每个客户端连接的线程数都会增加。

对于其他服务器配置,我保留了默认值。

在服务器启动时,线程数为:live 60,守护进程20,但几个小时后我发现了live,守护进程360.我不是专家,但这似乎是一个错误。这是真的吗?如何限制线程数?

我注意到在控制台管理配置文件>核心> “线程池”和“线程工厂”的线程都是空的。

2 个答案:

答案 0 :(得分:2)

我想你必须在启动脚本中设置以下参数:

-Dorg.jboss.server.bootstrap.maxThreads 

答案 1 :(得分:1)

根据您提供的信息,几乎不可能知道发生了什么。 当您遇到线程问题时,您应该做的是分析您的应用程序。你可能有一个错误配置的线程池导致你不知道的麻烦(从Quartz到数据库)。

  1. IDE方法
  2. 使用现代IDE,您应该能够在调试模式下查看所有正在运行的线程。如果您无法通过IDE找到从调试模式启动应用程序的方法,则可以尝试使用remote debugging

    1. 线程转储
    2. JDK有一个非常好的名为jstack,可用于获取Java应用程序中所有线程的堆栈跟踪快照。

      1. Professional Profiler
      2. 您可以尝试使用JDK' VisualVM或其中一个付费的个人资料。探查器可以为您提供有关线程的更多信息(创建时,何时死亡,状态如何变化......)