During normal operation, the Message Queue broker consumes a modest amount of memory. However, during idsync resync operations, the broker’s memory requirements increase. If the broker reaches its memory limit, undelivered messages will accumulate, the idsync resync operation will slow down dramatically (or stop completely), and Identity Synchronization for Windows might be unresponsive afterwards.
When the broker enters a low-memory state, the following messages will appear in its log:
[03/Nov/2003:14:07:51 CST] [B1089]: In low memory condition, Broker is attempting to f ree up resources [03/Nov/2003:14:07:51 CST] [B1088]: Entering Memory State [B0024]: RED from previous state [B0023]: ORANGE - current memory is 1829876K, 90% of total memory |
To avoid this situation:
Increase the broker’s memory limit to 1 or 2 GB, as explained in Sun Java System Directory Server Enterprise Edition 6.0 Release Notes.
During an idsync resync operation, keep the log level set to INFO. Changing the log level to FINE or higher increases the load at the broker as more log messages are sent to the central logger.
Run idsync resync for a single Synchronization User List at a time.
Verify that the broker has a backlog of undelivered messages by examining its persistent message store in the appropriate directory.
Each file in this directory contains a single undelivered message. If there are more than 10000 files in this directory, then the broker has a backlog of messages. Otherwise, there is another problem with the broker.
The message backlog is probably only log files related to an idsync resync operation and you can safely remove them.
Stop the Message Queue broker as described in Starting and Stopping Services
Remove all files in the persistent message store. The easiest way to remove these files is by recursively removing the message/ directory and then re-creating it.
Restart the Message Queue broker.
Follow the instructions in this section to ensure the broker does not run out of memory again.