Closed dakl closed 9 years ago
Hi daniel, I'm away from my sources/code for now. Using -Xmx was a good idea.
May be we could invoke the garbage manager before/after allocation memory. For a try you could try to add
depth_array=null;
System.gc();
just before https://github.com/lindenb/jvarkit/blob/master/src/main/java/com/github/lindenb/jvarkit/tools/biostar/Biostar154220.java#L152 ?
Yup - that does the trick. Submitted PR #32.
Hi Pierre,
Thanks a lot for Biostar154220, it works nicely (most of the time, hence this issue).
The problem is related to memory. I'm running my analyses on a cluster with 16-core 128Gb machines (8gb per core), I've increased the memory
-Xmx16g
(from the original-Xmx512m
IIRC) and it still sometimes fails. The most common scenario is that it fails on contig1
which is the largest, but in the example below, it actually fails on17
.I'm now solving it by requesting 4-core jobs which gives me 32G of memory, but since both the sorting and the capping in biostar154220 are single threaded, this costs me more CPU hours than necessary and a CPUh usage efficiency around 25%.
Do you have any ideas on how memory usage could be improved?
Thanks.
Daniel