Debug QoS
The debug Quality of Service (QoS) is for one-off tests and debugging, when you will use the result straight away to decide what to do next. Debug jobs get a much higher priority than other jobs, so a small debug job usually starts within a few minutes, but debug jobs are limited to:
- Jobs per user, queued or running: 1
- Walltime: 120 minutes
- Size per job: up to 2 nodes, 168 CPU cores, 512 GB of memory and 2 GPUs
Jobs use the normal QoS unless you request the debug QoS. Use the normal QoS for all your regular work, including production jobs, job arrays, workflows, and tests that are a routine part of your workflow. For its limits, see Job Limits.
When to Use Debug QoS¶
Good uses include:
- checking that a new or changed job script, module or input file works before you submit the full job,
- re-running a small part of a failed job to find out what went wrong,
- a small, one-off scaling test to choose how many CPUs or which GPU to request.
When Not to Use Debug QoS¶
Do not use the debug QoS:
- for regular work, or to make it start sooner,
- for tests that are a routine part of your workflow, such as a short run before every calculation to check its inputs, even if they feel like debugging,
- for jobs whose results you won't look at straight away, such as jobs that run overnight or while you are away,
- to submit debug jobs automatically, such as from a script that submits the next job when the last one finishes.
If you won't use the result straight away to decide how to fix or change your work, use the normal QoS. If you are not sure, Contact our Support Team.
Misusing the debug QoS
Debug jobs start ahead of other users' jobs, so using the debug QoS for regular work holds up their work. Under the Acceptable Use Policy, you agree not to misuse the REANNZ HPC Services, including by "doing anything that might hinder or prevent someone else from using the REANNZ HPC Services".
We monitor how the debug QoS is used, and may remove your access to it if we find it being misused. Your debug jobs will then be rejected with:
sbatch: error: Batch job submission failed: Invalid qos specification
We will restore your access once you confirm that you will follow the Acceptable Use Policy.
Submitting a Debug Job¶
Add --qos debug to your batch script, and set --time to 120 minutes or less:
#!/bin/bash -e
#SBATCH --job-name debug_test
#SBATCH --account nesi99991
#SBATCH --qos debug # use the debug QoS
#SBATCH --time 00:15:00 # within the debug QoS limit
#SBATCH --cpus-per-task 2
#SBATCH --mem 2G
module purge
module load Python/3.14.4-foss-2026
python my_script.py
To test a script without editing it, give the options on the command line, which override the script:
sbatch --qos=debug --time=00:15:00 my_job.sl
You can also add --qos=debug to srun or salloc for an interactive session.
Exit it as soon as you are finished.
When your script works, remove the --qos line before you use it for real jobs.