Size of pool for agent vms

Jonathan Gibbons jonathan.gibbons at oracle.com
Wed Nov 21 22:07:24 UTC 2018


Arno,

The pool is currently a function of the concurrency you use and the VM 
options specified on the command line.

If you use the same VM options to compile and run the tests, the size of 
the pool is the concurrency value ... one VM in the pool for each thread.

If you use different VM options to compile and run tests, the size of 
the pool is double the concurrency value ... one VM in the pool for each 
thread to compile tests, and anotherVM in the pool for each thread to 
run tests.

In addition, there may be additional VMs outside the pool for /othervm 
tests, or for tests that (internally) start their own JVM.

In general, if you want fewer VMs running, reduce the value of your 
concurrency option.  Also, consider using VM options to limit the 
resources given to each VM.

If you are specifying "concurrency 1" you should have at most two JVMs 
in the agent pool.

-- Jon



On 11/21/2018 06:38 AM, Zeller, Arno wrote:
> Hi,
>
> I have a question regarding the -agentvm parameter of jtreg. The documentation states the following:
> -avm | -agentvm -  Run tests using a pool of reusable JVMs.
>
> When I use this parameter to execute jtreg tests for OpenJDK hotspot and execute the test group ':hotspot_all_no_apps' (even with a concurrency of one) I end up with a pool of more than 20 VMs. This tends to exhaust my native memory and I end up with "out of native memory" errors in the jtreg driver VM or the agent VMs.
>
> Is there a way to limit the size of the pool?
>
> Best regards,
> Arno
>



More information about the jtreg-use mailing list