If MailArchiva runs out of memory, unpredictable results can occur. For example, the server may stop archiving emails or the JVM under which MailArchiva runs will exit entirely.
When the server behaving erratically, check the debug.log file for OutOfMemory errors. Normally, if there is an OutOfMemory error, the reason is outputted in the debug.log file.
There are three possible causes for the error:
Note: In high volume environments, your server will require more memory than usual.

Refer to Memory Settings for instructions on how to allocate more memory to MailArchiva.
Visit http://www.mailarchiva.com/downloads to download the latest version
This memory is allocated outside of the JVM environment. Decrease the amount of heap space to between 1/3 and 1/2 of total physical RAM on the machine.
The Linux OS may kill the MailArchiva process unexpectedly and unnecessarily, even though MailArchiva memory management is behaving responsibly. When this scenario occurs, the following log entry is found in the Linux kernel logs (run dmesg on the Linux terminal):
Most likely the server is running out of virtual memory. It is not necessary to increase heap size. Either make available more physical memory to the server or enable the swap.
The Java virtual machine will tend to use the maximum allowable memory (specified by -xMx parameter on JVM start). This doesn't mean that MailArchiva is using that amount of memory. It is typically using 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, to ensure that the process is running efficiently. From the Process Viewer, MailArchiva 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 MailArchiva uses, lower the amount of maximum memory specified as described in Memory Settings.