Out Of Memory

OutOfMemoryError: GC overhead limit exceeded

You may see the following error in the logs if no more memory is avaliable within the Java Virtual Machine (JVM).

"GC overhead limit exceeded"

This error message can occur in multiple locations throughout the code if the memory limit has been exceeded. If parts of the application require more memory then this message will typically be seen in different contexts which may seem strange. It is recommended that Weave is shutdown and that the memory limit is increased to allow for the extra load on the server.

java.lang.OutOfMemoryError: requested 32756 bytes for ChunkPool::allocate. Out of swap space?

This message is essentially saying that the native objects do not have enough memory to use. This is usually because you have allocated too much memory to your heap thereby reducing the amount that is available for native objects. See this article.

The solution is to reduce the amount of heap memory that you have allocated. For example if you have set -Xmx4096, then you should consider reducing this to -Xmx2048m.

Remember that if you are using a 32bit JVM you cannot allocate more than -Xmx2048m for linux (and less than that for windows). Using a 64 bit JVM can resolve this problem.