@Nonnull
    public static synchronized MemoryUsageMonitor getInstance() {
        if (INSTANCE == null) {
            INSTANCE = new MemoryUsageMonitor();
        }
        return INSTANCE;
    }
Records meory usage (based on the 'heap') of Openfire.

This monitor, which is intended to be used as a singleton, records the heap-based memory usage directly after each
garbage collection event. It is intended to be used to inform end-users about the current memory consumption of
Openfire, excluding any memory that is taken up by instances that are eligble for garbage collection.

@author Guus der Kinderen, guus.der.kinderen@gmail.com
@see <a href="https://igniterealtime.atlassian.net/browse/OF-2403">Improve Admin Console's memory usage reporting</a>
xmppserver/src/main/java/org/jivesoftware/util/MemoryUsageMonitor.java