From arno.zeller at sap.com Wed May 8 10:26:28 2019 From: arno.zeller at sap.com (Zeller, Arno) Date: Wed, 8 May 2019 10:26:28 +0000 Subject: Size of pool for agent vms In-Reply-To: <4d1887ed-e186-4325-37a1-b0b3f589abb4@oracle.com> References: <4d1887ed-e186-4325-37a1-b0b3f589abb4@oracle.com> Message-ID: Hi Jonathan, I found https://bugs.openjdk.java.net/browse/CODETOOLS-7902454 and this seems to be just the problem I have too. The VM pooling seems to behave unexpected and when running a lot of test with high concurrency I run out of native memory on some machines because there are much more than double the concurrency number of VMs alive and using memory. Do you think you could integrate the proposed patch from Aleksey? That would really help me in our automated test setup. Best regards, Arno On 11/21/2018 Jonathan Gibbons wrote: >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 >> From jonathan.gibbons at oracle.com Wed May 8 14:43:00 2019 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 8 May 2019 07:43:00 -0700 Subject: Size of pool for agent vms In-Reply-To: References: <4d1887ed-e186-4325-37a1-b0b3f589abb4@oracle.com> Message-ID: <361cbe60-ef59-ece8-cd6d-145257216280@oracle.com> I believe there is an underlying bug that needs to be investigated and addressed, that too many VMs are being created in the first place. I believe the fix from Aleksey is at best a workaround to cover up the underlying bad behavior. -- Jon On 5/8/19 3:26 AM, Zeller, Arno wrote: > Hi Jonathan, > > I found https://bugs.openjdk.java.net/browse/CODETOOLS-7902454 and this seems to be just the problem I have too. The VM pooling seems to behave unexpected and when running a lot of test with high concurrency I run out of native memory on some machines because there are much more than double the concurrency number of VMs alive and using memory. > > Do you think you could integrate the proposed patch from Aleksey? That would really help me in our automated test setup. > > Best regards, > Arno > > > On 11/21/2018 Jonathan Gibbons wrote: >> 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 >>> From gromero at linux.vnet.ibm.com Fri May 17 20:58:38 2019 From: gromero at linux.vnet.ibm.com (Gustavo Romero) Date: Fri, 17 May 2019 17:58:38 -0300 Subject: Action option /native missing in action tag @run documentation Message-ID: Hi, I understand that action option '/native' used in many tests relying on JNI is part of action tag '@run' but is not listed in jtreg documentation, found in (or in the other docs inside the doc dir): http://hg.openjdk.java.net/code-tools/jtreg/raw-file/82de1f4bf541/src/share/doc/javatest/regtest/tag-spec.html Should such a documentation be added, stating that action option /native makes the test rely on the compiled native libraries (lib*.so files)? Thanks and best regards, Gustavo From jonathan.gibbons at oracle.com Fri May 17 21:02:51 2019 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 17 May 2019 14:02:51 -0700 Subject: Action option /native missing in action tag @run documentation In-Reply-To: References: Message-ID: Yes, thanks; filed as https://bugs.openjdk.java.net/browse/CODETOOLS-7902472 -- Jon On 05/17/2019 01:58 PM, Gustavo Romero wrote: > Hi, > > I understand that action option '/native' used in many tests relying on > JNI is part of action tag '@run' but is not listed in jtreg > documentation, > found in (or in the other docs inside the doc dir): > > http://hg.openjdk.java.net/code-tools/jtreg/raw-file/82de1f4bf541/src/share/doc/javatest/regtest/tag-spec.html > > > Should such a documentation be added, stating that action option /native > makes the test rely on the compiled native libraries (lib*.so files)? > > Thanks and best regards, > Gustavo From gromero at linux.vnet.ibm.com Fri May 17 21:07:28 2019 From: gromero at linux.vnet.ibm.com (Gustavo Romero) Date: Fri, 17 May 2019 18:07:28 -0300 Subject: Action option /native missing in action tag @run documentation In-Reply-To: References: Message-ID: On 05/17/2019 06:02 PM, Jonathan Gibbons wrote: > Yes, thanks; > > filed as https://bugs.openjdk.java.net/browse/CODETOOLS-7902472 Thanks, Jon! Regards, Gustavo