I am running a <clover-merge> Ant tag within a 1.7.0_04 JVM with 8 GB of heap. We were running 1.7.0_02 a week ago, but don't know if this is relevant. We are running out of heap, and have found that we can resolve this by increasing the JVM to 10 GB of heap. Given the number of builds we run, we can't afford to give them all 10 GB heap.
Is there a way to tune the <clover-merge> tag so that it uses less heap, perhaps by doing some work on disk rather than in core?
The majority of memory consumption in <clover-merge> is related with merging per-test coverage files. So, as a first step I would suggest to check if it's possible to reduce number of "clover.db*.s" files produced in your build.
Ways to achieve this:
As a next step I would suggest to experiment with various garbage collectors and GC settings for <clover-merge>. In general, when Clover merges per-test recordings, it creates a vast amount of short-living long arrays. Standard GC settings are usually not the most optimal - in various tests with a profiler I've seen unnecessary growth of a heap size, because GC was not able to free memory fast enough. Increasing size of a young generation as well as running full garbage collection more aggressively may help.
Atlassian Summit is an excellent opportunity for in-person support, training, and networking.Learn more
As a project manager, I have discovered that different developers want to bring their previous branching method with them when they join the team. Some developers are used to performing individual wo...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs