Diana Kolbe
04/02/2026, 7:56 PMThomas Danhorn
04/03/2026, 2:12 AMulimit, because there is only one process running. (You might still need it if that process spawns a lot of subprocesses and/or several of those end up on the same node, but you can cross that bridge when you come to it. Nextflow has the `beforeScript` directive, which may be helpful for this, but if this becomes a recurring issue, I would ask the sysadmins to raise the default limits [4k seems very low -- on my cluster the head node has 30622 and a typical compute node 399360; heck, my laptop has 55046]).
BTW, I am far from an expert on this, but I don't think threads make a difference here, the limit is for processes. If you want to limit threads, which is a legitimate need, make sure your config has a proper resourceLimits directive, which directly affects how many cpus any process can ask for. I would use the CPU count of a typical node as limit for cpus (and you can adjust this dynamically, depending on queue, QOS, etc.), so you don't ask for more than is available and get jobs that can't be scheduled. Make sure to set memory and time as well. These are global limits for any process.
You also can use custom config using withName or withLabel to set the cpus [or memory, or time] for specific `process`es or categories, but I would only mess with that if you see glaring inefficiencies or some process runs out of resources. 🤞pontus
04/03/2026, 6:11 AMpontus
04/03/2026, 6:13 AMresourceLimits won't help withDiana Kolbe
04/03/2026, 3:34 PMThomas Danhorn
04/04/2026, 8:08 PMsge into the search box. You may have to modify things to fit your cluster, but you'll have some inspiration. 🤞
The resourceLimits limits the requests to the scheduler, it is then up to the scheduler/OS to enforce that. Some do a better job of that than others.