Ubuntu activemq中的内存限制(67108864)
当涉及到ActiveMQ时,我遇到了一个问题。我需要知道在何处可以重新配置活动MQ以避免以下错误:Ubuntu activemq中的内存限制(67108864),ubuntu,activemq,configure,Ubuntu,Activemq,Configure,当涉及到ActiveMQ时,我遇到了一个问题。我需要知道在何处可以重新配置活动MQ以避免以下错误: Usage Manager Memory Limit (67108864) reached on queue://1000010. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. 请注意,我正在Ubuntu 11
Usage Manager Memory Limit (67108864) reached on queue://1000010. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it.
请注意,我正在Ubuntu 11.10上使用ActiveMQ 5.5版
她是我的朋友:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>file:${activemq.base}/conf/credentials.properties</value>
</property>
</bean>
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" useJmx="true" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true" schedulePeriodForDestinationPurge="0">
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic=">" producerFlowControl="false">
<pendingSubscriberPolicy>
<vmCursor />
</pendingSubscriberPolicy>
</policyEntry>
<policyEntry queue=">" producerFlowControl="false" maxPageSize="500" queuePrefetch="300" expireMessagesPeriod="0" queuePrefetch="1">
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<persistenceAdapter persistent="true" useShutdownHook="false">
<kahaDB directory="${activemq.base}/data/kahadb" journalMaxFileLength="32mb"/>
</persistenceAdapter>
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="1 gb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="1 gb"/>
</tempUsage>
</systemUsage>
</systemUsage>
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
</transportConnectors>
</broker>
<import resource="jetty.xml"/>
</beans>
文件:${activemq.base}/conf/credentials.properties
您看到的与向队列中发送非持久性消息一致。这看起来您达到了默认内存限制。如果您向队列发送持久消息,它们将使用KahaDB,因此storeUsage
限制为100gb
另外,对于所有队列,您在
policyEntry
上设置了两个queuePrefetch
值-这可能不是您想要的。您是否可以尝试定义一个不同的memoryLimit=“XYZmb”
作为队列policyEntry的一部分。