If Архива runs out of memory, unpredictable results can occur. For example, the server may stop archiving emails or the JVM under which Архива runs will exit entirely.
There are two possible causes for the error:
- Not enough heap space is allocated (java.lang.OutOfMemoryError: Heap space)
There may be a large volume of email archive traffic being processed by the server causing the email archiving server to allocate a large number of objects on the heap.
- Not enough Perm Gen space (java.lang.OutOfMemoryError: Permgen space). Архива's code base is larger than the amount of memory allocated to it.
Note: In high volume environments, your server will require more memory than usual. To allocate more memory, refer to Memory Settings.
Resolutions
- Increase The Amount of Memory Allocated To Архива
Refer to Memory Settings for instructions on how to allocate more memory to Архива.
- Upgrade Your Email Archive Software To Latest Version
Visit http://www.mailarchiva.com/downloads to download the latest version
- Decrease No. Archiving Threads
By default, Архива will archive six emails simultanously. To reduce memory consumption, lower the number of archiving threads in Configuration->Archive and restart the server.
- Decrease Maximum No Mounted Archive Files
By default, the maximum number of mounted archive files is 410. To reduce memory consumption, lower the maximum no. mounted archive files in Configuration->Archive and restart the server.
High Memory Usage
The Java virtual machine will tend to use maximum allowable memory (specified by -xMx parameter on JVM start). This doesn't mean that Архива is using that amount of memory. It is typically using up far less (<90MB per instance). It merely means that the JVM garbage collector is not deallocating available memory for performance reasons.
Garbage collection of memory consumes resources. Under normal configuration, the JVM defers the freeing up of memory until it needs to, so as to ensure that the process is running efficiently. From the Process Viewer, Архива may appear to be using a large amount of memory. This is only because the -xMx parameter specified in the startserver script, told the JVM to go ahead and use a large amount of memory.
To reduce the amount of memory that Архива uses, lower the amount of maximum memory specified as described in Memory Settings.