gpt4 book ai didi

java - ActiveMQ OutOfMemory 无法创建更多线程

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:52:01 25 4
gpt4 key购买 nike

我正在模拟服务器过载,但出现此错误:

java.lang.OutOfMemoryError: unable to create new native thread

我读过这个页面http://activemq.apache.org/javalangoutofmemory.html ,我可以增加内存大小。但是我该怎么做呢?我需要修改哪个文件?我尝试通过 bin/activemq 脚本传递参数,但没有成功。

最佳答案

您的案例对应于 massive number of threads 。有3种方法可以解决:

  • 减少线程数(即文档中的-Dorg.apache.activemq.UseDedicatedTaskRunner=false)
  • 通过-Xss 选项减少每个线程的堆栈大小(默认值:Win/Linux 上的 32 位 Java 为 320 KiB,Win/Linux 上的 64 位 Java 为 1024 KiB,请参阅 doc )
  • 减少(不扩展)堆大小-Xmx选项为每个线程堆栈腾出空间(ActiveMQ 脚本中默认为 512 MiB)

注意:如果堆栈或堆太小,一定会导致另一个OutOfMemoryError

您可以使用 ACTIVEMQ_OPTS shell 变量(在 UNIX 中)指定它们。例如,将 ActiveMQ 运行为

ACTIVEMQ_OPTS=-Xss160k bin/activemq

关于java - ActiveMQ OutOfMemory 无法创建更多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1808782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com