当ActiveMQ耗尽系统资源时,我们最近在测试环境中遇到了一些问题。
如何在本地模拟此方案以重现问题并测试潜在的修复程序?
答案 0 :(得分:3)
我设法通过更改ActiveMQ配置来模拟场景。
您可以在ActiveMQ的配置文件中设置可用的系统资源,您可以在ActiveMQ安装目录的libexec/conf/activemq.xml
找到该文件。
例如,您可以更改默认值:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="70" />
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="50 gb"/>
</tempUsage>
</systemUsage>
</systemUsage>
改为小值:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="1" />
</memoryUsage>
<storeUsage>
<storeUsage limit="512 kb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="512 kb"/>
</tempUsage>
</systemUsage>
</systemUsage>
运行或重新启动ActiveMQ,它应该很快就会填满。
ActiveMQ文档中的更多信息:http://activemq.apache.org/producer-flow-control.html