-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Dear IQ-TREE developers,
I am running IQ-TREE (iqtree3) on a high-memory server and encountered an unexpected job termination without an explicit error message. I would like to ask for clarification regarding the memory usage warning and the subsequent job termination.
My command was:
iqtree3 -s 20251102_outgroup_filter.min4.fasta -alninfo -t PARS -m GTR+F+R6 -st DNA -bb 1000 --bnni -nt 40 -mem 800G -keep-ident --prefix 20251102_outgroup_filter.min4_GTR_v2
The server specifications are:
Total RAM: ~1 TB
CPU cores available: 128
I explicitly limited IQ-TREE to use 40 threads and 800 GB RAM.
During the run, IQ-TREE printed the following messages:
NOTE: 804234 MB RAM (785 GB) is required!
WARNING: Memory required per CPU-core (49.0866 GB) is higher than your computer RAM per CPU-core (7 GB), thus multiple runs may exceed RAM!
Attached log file is below
20251102_outgroup_filter.min4_GTR_v2.log
Shortly after this message (during model parameter estimation), the job was terminated ("killed") by the system, but no explicit error message was written in the IQ-TREE log.
My questions are:
Is the "memory required per CPU-core" warning purely informational, or does IQ-TREE internally attempt to allocate memory per thread in a way that could exceed the total memory limit (-mem)?
Given that I explicitly specified -nt 40 and -mem 800G, is manual tuning of -nt required to avoid such termination?
Is there a recommended strategy for selecting the number of threads for large SNP-based WGS alignments (millions of sites, ~100+ taxa) to avoid silent job termination due to memory pressure?
Any clarification on how IQ-TREE estimates and enforces memory usage across threads would be greatly appreciated.
Thank you very much!