Skip to content
Contact Support

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.