IMPORTANT NOTICE: As of 21 February, anything posted in this community WILL NOT BE MIGRATED to our new community site. We have pulled all user information and data from this site and are now in an approximately week long process of importing users, roles, and data to our new site. We are leaving this site open and active so you can post and hopefully get a response until the migration is complete. Once complete, the URL that currently takes you to this site will take you to our new site so your bookmarks will work as always. Please read the information on a New Login Process
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 VMCould not reserve enough space for object heapCould 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:http://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp
2) Reduce the amount of JRE heap required by the AUT