Possible causes:
- not enough swap space left, or
- kernel parameter MAXDSIZ is very small.
Solution:
Although it appears that an OutOfMemoryError is thrown this apparent exception is reported by the HotSpot VM code when an allocation from the native heap failed and the native heap may be close to exhaustion.
The message indicates the size (in bytes) of the request that failed and also indicates what the memory is required for. In some cases the reason will be shown but in most cases the reason will be the name of a source module reporting the allocation failure.
If an OutOfMemoryError with this error is thrown it may require using utilities on the operating system to diagnose the issue further. Examples of issues that may not be related to the application are when the operating system is configured with insufficient swap space, or when there is another process on the system that is consuming all memory resources. If neither of these issues is the cause then it is possible that the application is failed due to native leak; for example, application or library code is continuously allocating memory but is not releasing it to the operating system.
For more information:
http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf
The recommendation for swap space size in the Solaris is that swap should be configured about 30% of physical RAM.
The following link has suggested a workaround to add ‘-XX:+UseDefaultStackSize -Xss256K’ parameter.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4916142
Add: -XX:CodeCacheMinimumFreeSpace=2M -XX:+ReservedCodeCacheSize=64M -XX:PermSize=128m -XX:MaxPermSize=384m (As per your other JVM settings)
http://weblogic-wonders.com/weblogic/2010/12/30/different-out-of-memory-issues/
Hope it helps you debug further.