为什么默认配置下的ActiveMQ只使用70%的percentOfJvmHeap

Ohm*_*men 2 java activemq-classic

ActiveMQ 的默认配置在activemq.xml文件中声明如下:

<beans>
 ...
    <broker>
       ...
        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70"/>
                </memoryUsage>
                 ...
            </systemUsage>
        </systemUsage>
    </broker>
</beans>
Run Code Online (Sandbox Code Playgroud)

仅使用 JVM 堆的 70% 而不是 100% 作为内存限制的原因是什么?

这不是浪费资源吗?

Bor*_*vić 5

经验法则是利用100 * (1 / sqrt(2))% ( == 70.7106781187%)系统的容量来实现稳健的使用,这样可以在突然的使用高峰中幸存下来。