We're getting the following error when trying to start up the WAMUI service in Windows 2008.
“There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (malloc) failed to allocate (X) bytes for Chunk::new”
This is preventing the WAMUI from starting and we have to restart the Virtual Machine/OS to get it to work.
The most common reason you would encounter this specific message on a Windows 2008 32-bit installation of the WAMUI, is if the default memory heap settings for the WAMUI’s JVM is unable to allocate a contiguous block of memory when allocating the initial heap size.
This can happen due to the way Windows allocates memory for DLLs, which can sometimes load DLLs into the memory space already allocated for the JVM. This can create a situation where there is no contiguous, unfragmented block of a size necessary to set the initial heap, as configured in the JVMOptions file for the WAMUI.
One way to resolve this issue is to adjust the –Xms value in the JVMOptions file to be smaller than the default, which is 1024M. Reducing it to 512M or even 256M should decrease the chances that Java will be unable to find a large enough contiguous block of memory to write the heap to. Which value is appropriate depends on your environment, and may require some testing to determine the best one.
Other solutions would include increasing the total memory available to the OS, up to the 32-bit limit, or using a third-party tool to defragment the system memory available to applications.