[ https://issues.apache.org/jira/browse/ARTEMIS-580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15506687#comment-15506687 ]
clebert suconic commented on ARTEMIS-580: ----------------------------------------- This was done in the context of https://issues.apache.org/jira/browse/ARTEMIS-581 > Add setting to control global memory usage > ------------------------------------------ > > Key: ARTEMIS-580 > URL: https://issues.apache.org/jira/browse/ARTEMIS-580 > Project: ActiveMQ Artemis > Issue Type: Improvement > Affects Versions: 1.3.0 > Reporter: Lionel Cons > Assignee: clebert suconic > Priority: Blocker > Fix For: 1.5.0 > > > AFAIK, the only way to prevent Artemis from consuming all the heap and dying > with OOM errors is to set {{max-size-bytes}}. > This per-address setting is not suitable for brokers with many addresses that > have different usage patterns. For instance, on a broker used for testing, > Artemis complained that: > {code} > 2016-06-20 13:20:03,107 [org.apache.activemq.artemis.core.server] WARN > AMQ222205: OutOfMemoryError possible! There are currently 400 addresses with > a total max-size-bytes of 4,194,304,000 bytes, but the maximum memory > available is 764,411,904 bytes. > {code} > These 400 addresses are not used anymore and will eventually be removed. > In contrast, ActiveMQ 5.x has a much more useful global setting to control > how much memory (in total) the broker will use. See {{memoryUsage}} in > http://activemq.apache.org/producer-flow-control.html. > Could Artemis also use a global memory setting to limit its memory usage? > What to do when hitting this limit (DROP, BLOCK, PAGE...) could stay > per-address. -- This message was sent by Atlassian JIRA (v6.3.4#6332)