On 05/02/2013 20:10, Mike Duigou wrote:
On Feb 4 2013, at 08:33 , Alan Bateman wrote:

On 04/02/2013 16:02, Mike Duigou wrote:
:
If so then I think we have to careful because -concurrency means a lot of 
virtual memory and I'm not convinced that we limit it via -vmoption in 
jdk/test/Makefile
I could see us wanting to dial this down on 32-bit Windows for example.
We do limit the max size via -Xmx512M which does seem quite small and is 
generally well balanced with the number of cores.

I opened a build/infrastructure issue to have MEMORY_SIZE and perhaps some 
suggested VM sizes recorded to the spec.gmk I planned to revisit this again 
once only new build is supported.
My reading of the make file is that -J-Xmx512m is passed to jtreg and so it's 
the maximum heap size of the jtreg process, not the agent VMs running tests. If 
we are turning on concurrency then it will need -vmoption:-Xmx512m too, 
otherwise you risk each agent reserving 1/4 of physical memory. In addition, 
limited virtual memory on Windows 32-bit will limit the number of agent VMs 
that you can run and so $(JOBS) may be too much. You might need to limit it to 
2 or 3 on Windows 32-bit.
OK, that is my misunderstanding. I thought it was being applied to both the 
jtreg vm and the test vms. I think for now I will just remove concurrent rather 
than try to set VM sizing.

No problem, it's not obvious. Maurizio and I were looking at the Makefile in langtools recently and we noticed the same thing, since then it has been updated by Vincente to specify -vmoption. I think we should do the same in jdk/test/Makefile and I think 512m is about right (the temptation is to set it higher but there are a lot of tests in the jdk repo that are othervm tests so actual number of VMs running can be *2, or even more when multi-process tests are run. This can of course be something for another update, and I'm okay with the other changes in the last webrev.

-Alan

Reply via email to