Silk Test Issue: JVM cannot reserve enough space for the application under test
We are aware of this issue of Java AUTs that require huge amounts of memory within the JRE heap.
The issue with JRE heap is that this is a shared memory area - all processes that require some Java memory need to share it. Furthermore, requested memory areas must be continuous, this is an BACKGROUND
If a Java application under test(AUT) requires a lot of memory e.g. to have maximum heap size set to -Xmx1280M and the SilkTest agent is running and connected to the SilkTest runtime the JVM may not be able to initialize, resulting in the following error message:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
When the maximum heap size for the Java AUT is reduced to -Xmx1024M, the AUT is able to start successfully, however the AUT is required to start with maximum heap size set to -Xmx1280.
The issue is caused by AUTs that require huge amount of this memory. Any requesting process gets an area somewhere in the heap which causes memory fragmentation and results in not having enough continuous memory area that would be necessary for the AUT. Any process that requires a little bit of memory influences JRE memory availability.
This is not a SilkTest issue, as such, we cannot influence JRE heap allocation. However, SilkTest agents (Classic Agent Java extension, Open Agent in general) require a little bit of the Java heap, but not enough to affect Java AUTs. Many other developers that require huge amounts of JRE heap do have the same issue (which is not related to SilkTest).
The options available are:
1) To modify the JRE options to the AUT's requirement (constraints are: hardware, JRE version, operating system). The following link may be useful:
2) Reduce the amount of JRE heap required by the AUT