Writing jtreg tests; was Re: JTreg spawns java processes and uses all memory with CONCURRENCY=auto
Jonathan Gibbons
jonathan.gibbons at oracle.com
Thu May 23 18:06:24 PDT 2013
I've written a first draft of some high level guidelines on writing
tests for jtreg. It is available at
http://openjdk.java.net/jtreg/writetests.html
The intent is that this should be general high level notes, and a place
to hang references for any more detailed docs that folk would like to see.
Comments please, but it's a long weekend here, so I may not respond
until next week.
-- Jon
On 05/23/2013 12:28 PM, Jonathan Gibbons wrote:
> I've incorporated some of the feedback I received here and noted the
> rest.
>
> I am currently experimenting with the Hotspot test suite to get advice
> for that.
>
> I've linked the page in to the page "Running tests with jtreg", but
> not to the top level page. I'd prefer to keep the top level page
> relatively simply and well structured. That being said, it seems
> there is a need for some sort of page "Writing tests for jtreg", that
> should contain helpful info or provide pointers to useful info that is
> specific to jtreg (as compared to writing tests in general.) When
> that page appears, I think that deserves to be linked in to the top page.
>
> -- Jon
>
>
>
> On 05/21/2013 07:47 PM, Jonathan Gibbons wrote:
>> I've published a new page on the OpenJDK jtreg pages that attempts to
>> summarize the wisdom collected in this email thread.
>>
>> The page is http://openjdk.java.net/jtreg/concurrency.html
>>
>> The page is not yet linked in to other any pages, to give folk here a
>> chance to give feedback before the page becomes more generally
>> available.
>>
>> -- Jon
>>
>>
>> On 05/21/2013 12:33 AM, Alan Bateman wrote:
>>> On 20/05/2013 21:59, Tomasz Kowalczewski wrote:
>>>> Hello,
>>>>
>>>> during a recent "Adopt OpenJDK" event held in Krakow I was using
>>>> jtreg for running OpenJDK test cases. It was set up as per
>>>> instructions published here:
>>>> https://java.net/projects/adoptopenjdk/pages/InstallJtreg
>>>>
>>>> OpenJDK repository was cloned from
>>>> http://hg.openjdk.java.net/jdk8/tl and jtreg version was
>>>> jtreg-4.1-bin-b05_29_nov_2012.zip
>>>>
>>>> I have set 'CONCURRENCY=auto' environment variable.
>>>>
>>>> When running a test suite (.e.g.: 'cd jdk8_tl/test; make jdk_util')
>>>> jtreg spawns a lot of java processes and it seems not to stop.
>>>> Ever. It uses all 8 GB of RAM on my machine at which point Windows
>>>> starts killing random processes.
>>>>
>>>> With 'CONCURRENCY=1' jtreg will spawn only a few java processes and
>>>> will happily run all the test.
>>>>
>>>> What is the behavior for 'CONCURRENCY=auto'? Which value is used as
>>>> default? Maybe it is not a bug its just that OpenJDK tests should
>>>> be run on a big server machine with lots of RAM?
>>>>
>>>> Any suggestions or pointers to documentation will be very appreciated.
>>>>
>>>> --
>>>> Regards,
>>>> Tomasz Kowalczewski
>>> If you are using -concurrency then I would also suggest adding
>>> -vmoption:-Xmx512m so that you limit the heap size of the VMs. I
>>> think Mike has a patch coming for the test Makefile to make this the
>>> default.
>>>
>>> On concurrency I personally find that -concurrency:auto works well
>>> for the jdk tests, assuming you limit the heap size. The reason is
>>> that the tests are a wild mix of work loads (some tests are I/O
>>> bound, some are compute bound, some spend a lot of time sleeping).
>>> The exception is Windows 32-bit where you can limit the heap but you
>>> might still run into the virtual memory limits on the system.
>>>
>>> -Alan
>>
>
More information about the jtreg-use
mailing list