valleinclan
02/17/2026, 1:26 PMOliver Hofmann
02/17/2026, 9:29 PMOliver Hofmann
02/17/2026, 9:49 PMvalleinclan
02/17/2026, 11:17 PMvalleinclan
02/17/2026, 11:35 PMOliver Hofmann
02/18/2026, 1:48 AMJoep de Ligt
02/18/2026, 2:54 AMJoep de Ligt
02/18/2026, 2:56 AMJoep de Ligt
02/18/2026, 2:56 AMEva Caceres
02/18/2026, 7:28 AMEva Caceres
02/18/2026, 7:30 AMEva Caceres
02/18/2026, 7:36 AMEva Caceres
02/18/2026, 7:53 AMOliver Hofmann
02/18/2026, 8:30 AMvalleinclan
02/18/2026, 9:03 AMEva Caceres
02/18/2026, 9:24 AMRayan Hassaïne
02/18/2026, 11:29 AMprocess {
withName: /.*ESVEE.*/ {
ext.xmx_mod = 0.70
}
}Rayan Hassaïne
02/18/2026, 11:30 AM-r flagvalleinclan
02/18/2026, 11:56 AMwithName: 'ESVEE' { cpus = { 28 + (4 * task.attempt) }; memory = { 80.GB + (16.GB * task.attempt) }}
Will report backvalleinclan
02/18/2026, 3:47 PMRayan Hassaïne
02/18/2026, 3:50 PMEva Caceres
02/19/2026, 8:03 AMvalleinclan
02/19/2026, 10:41 AMvalleinclan
02/19/2026, 11:40 AMEva Caceres
02/19/2026, 11:58 AMEva Caceres
02/19/2026, 11:59 AMvalleinclan
02/19/2026, 12:06 PMPhil Ewels
02/19/2026, 12:32 PMEva Caceres
02/20/2026, 11:01 AMvalleinclan
02/27/2026, 11:26 AMThank you for your patience. We have completed our investigation and identified the root causes of the reported issues. A summary is provided below.
1. ESVEE Out-of-Memory (OOM)
The ESVEE OOM is not caused by Fusion. The Java process allocates memory both within the managed heap (-Xmx) and outside it, including native BAM I/O buffers, JNI calls, and thread stacks. With -Xmx set to 95% of the container memory, only approximately 6 GiB remains available for off-heap allocations, which is insufficient for this workload. Reducing the heap cap to approximately 75% of the container memory is the correct approach, as it provides adequate headroom for off-heap usage and prevents OOM failures.
2. ESVEE 10–12x Slowdown
The slowdown is caused by Fusion Snapshots. Our analysis shows that ESVEE allocates approximately 110–123 GiB of memory. Fusion Snapshots must dump nearly all allocated memory pages every five minutes. At an effective write speed of approximately 0.5 GB/s, each snapshot takes about 244 seconds within a 300-second interval, leaving only around 19% of the time available for computation. This behavior aligns with the slowdown observed. To address this, we recommend either disabling Fusion Snapshots for the ESVEE process or increasing the snapshot interval. Snapshots can be disabled per process in the Nextflow configuration as follows:
process {
withName: 'NF_CHAI:CHAI_1' {
containerOptions = '-e FUSION_SNAPSHOT_ENABLED=false'
}
}
For ESVEE specifically, use the appropriate process selector (for example, withName: 'ESVEE' or the fully qualified name used in oncoanalyser).
3. SAGE_SOMATIC OOM
This appears to be a separate configuration issue. The process_high memory setting is currently 24 GiB, while the base configuration for nf-core/oncoanalyser requires 72 GiB for this process class. We recommend increasing process_high to at least 72 GiB.
Recommended Actions
Reduce -Xmx to approximately 75% of container memory for ESVEE
Disable Fusion Snapshots for ESVEE or increase FUSION_SNAPSHOT_INCREMENTAL_INTERVAL
Increase process_high memory to ≥72 GiB for SAGE_SOMATIC
TLDR:
• The 5% memory space left between the memory given to the process and the java heap cap is not sufficient for certain i/o intensive processes. That's why the xmod hotfix by @Rayan Hassaïne works.
• With fusion enabled, in this very intensive i/o processes then a lot of computation time goes into snapshotting, so it's wise to control that
• I was giving too little memory to SAGE_SOMATIC, that one is on me only. But I suspect this process also suffers from the heap space cap (and perhaps others, looking at Virusbreakend right now).
I hope this is useful for other people as well.Oliver Hofmann
02/27/2026, 11:33 AM