blob: c82021acf5e6f195c8e1a8eb96046cc457cdefc9 [file] [log] [blame]
<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">9.6.&#160;Flow to Disk</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;9.&#160;Runtime</th><td align="right" width="20%">&#160;<a accesskey="n" href="Java-Broker-Runtime-Consumers.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Runtime-Flow-To-Disk"></a>9.6.&#160;Flow to Disk</h2></div></div></div><p>Flow to disk limits the amount of <a class="link" href="Java-Broker-Runtime-Memory.html" title="9.11.&#160;Memory">direct and heap memory</a>
that can be occupied by messages. Once this
limit is reached any new transient messages and all existing transient messages will be
transferred to disk. Newly arriving transient messages will continue to go to the disk until the
cumulative size of all messages falls below the limit once again.</p><p>By default the Broker makes 75% of the max direct available memory for messages. This memory is
divided between all the queues across all virtual hosts defined on the Broker with a percentage
calculated according to their current queue size. These calculations are refreshed periodically
by the housekeeping cycle.</p><p>For example if there are two queues, one containing 75MB and the second 100MB messages
respectively and the Broker has 1GB direct memory with the default of 75% available for messages.
The first queue will have a target size of 320MB and the second 430MB. Once 750MB is taken by
messages, messages will begin to flow to disk. New messages will cease to flow to disk when
their cumulative size falls beneath 750MB.</p><p>Flow to disk is configured by Broker context variable
<code class="literal">broker.flowToDiskThreshold</code>. It is expressed as a size in bytes and defaults
to 75% of the JVM maximum heap size.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Runtime-Close-Connection-When-No-Route.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Runtime.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="Java-Broker-Runtime-Consumers.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">9.5.&#160;Closing client connections on unroutable mandatory messages&#160;</td><td align="center" width="20%"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;9.7.&#160;Consumers</td></tr></table></div></div>