Thursday, 7 November 2013

Java OutOfMemoryError Common Examples


One common issue that many developers have to address is that of applications that terminate with java. lang. OutOfMemoryError. That error is thrown when there is insufficient space to allocate an object.

Java heap space

This indicates that an object could not be allocated in the heap. The issue may be just a configuration problem. You could get this error, for example, if the maximum heap size specified by the –Xmx command line option is insufficient for the application.

PermGen space

This indicates that the permanent generation is full. If an application loads a large number of classes, then the permanent generation may need to be increased. You can do so by specifying the command line option –XX:MaxPermSize=n, where n specifies the size.

Requested array size exceeds VM limit

This indicates that the application attempted to allocate an array that is larger than the heap size. For example, if an application tries to allocate an array of 512MB but the maximum heap size is 256MB, then this error will be thrown.