- High CPU usage on login nodes
- Inefficient CPU usage of job
- Over-use of CPUs by a job
- Over-reservation of memory
- Disk(s) quota over 95%
- Warning: your disk usage is above 95% of your quota on some disk(s), consider trimming down your usage.
- Disk usage is over 95% on 1 disk
- Warning: disk usage check found 1 disk with %Use or %IUse >= 95%
High CPU usage on login nodes
- What is monitored: User processes running on the login nodes with high CPU usage for a long time.
- User action: Stop the process/command that produced high-CPU usage on the login node and submit as a job or run in the interactive queue.
- Note: If the process keeps running, it will be "reniced" twice (priority reduced) and eventually be killed.
"Process X priority was lowered on hydra-login0[12].si.edu"
Subject: Process 1259315 priority was lowered on hydra-login01.si.edu
Your command '/process/causing/high-CPU' (PID=1259315 on hydra-login01.si.edu) priority was lowered (renice +5) because:
used TIME = 26.6 > 20 min
used %CPU = 98.4 > 45 %
Remember: jobs/long computations should be submitted to a queue, or run in the interactive queue, not on a login node.
What it means:
- You have started a process (command) on one of the login nodes that exceeds the allowed CPU time and usage limits.
- The command is still running, but its priority has been reduced (
renice). - If the process does not complete or is not terminated within the hard limit on CPU usage on the login node, it will be automatically killed.
Actions to take:
- What you're doing is using high CPU for a sustained period of time, and this should not be running on one of the login node.
- Analyses: These should be run in the interactive queue or submitted as a job.
- File transfers: Some file transfer programs can produce high CPU. Please contact [email protected] (SAO users) or [email protected] (others) for alternative programs that use less CPU.
- Conda: c
ondacommands can use high CPU in the 'solving environment' stage of installing packages.- Run the
condacommand in an interactive session. - Consider using
mambawhich is much more efficient in the 'solving environment' stage. - Create a new conda environment for the installation rather than modifying an existing environment.
- Run the
- File compression and management, e.g.
gzip, ziportar: Run your commands in an interactive job or submit it as a job.
"Process X was killed on hydra-login0[12].si.edu"
Subject: [Hydra - alert] Process 1259315 was killed on hydra-login02.si.edu
Dear Jarrod:
Your command '/process/causing/high-CPU' (PID=1259315 on hydra-login02.si.edu) was killed (kill -9) because:
used %CPU = 95.4 > 85 %
used %MEM = 65.9 > 55 %
Remember: jobs/long computations should be submitted to a queue, or run in the interactive queue, not on a login node.
What it means:
- The process (command) you were running on one of the login nodes that used too much CPU was killed (terminated).
- This message is preceded by two warning messages.
Actions to take:
- Follow the recommendations from the "Process X priority was lowered on hydra-login0[12].si.edu" warning to run the job on the interactive node or as submitted job.
Confirm that the process that was killed did not produce partial or corrupt files.
- If the process was related to file transfers, there could partially transferred files and files that were not transferred.
- For processes like
tar, a tar file being created may be incomplete and corrupt.
Inefficient CPU usage of job
- What is monitored: Jobs that are using less CPU resources than requested.
When the cluster is heavily loaded, these inefficient jobs may be killed.
- User action: Review resources requested and program-specific arguments that affect CPU usage. Typically, it is fine to adjust these parameters in subsequent jobs that use similar processes rather than deleting your job and re-submitting it.
"Your inefficient job(s) on Hydra"
Dear USER,
You have/had the following number of inefficient jobs running on Hydra over the past 7d:
module load tools/local
check-qlogs ineff -from -7d -user USER
Checking inefficient jobs for unused CPUs (cpuT=33% xtraT=1 ageM=0.5 user='USER')
from Mon Sep 16 10:20:10 2024
report for Mon Sep 16 10:22:03 2024 to Mon Sep 23 10:12:02 2024
userName #jobs total average unused CPUs [day]
-------------------- ----- -------- --------
USER 3 120.9 40.3
details are shown only for jobs with unused CPUs > 1 per job [in day]
jobID name user age nPEs cpu% queue node taskID date/time unused CPUs
---------- --------------- ---------------- ------ --------- ---- -------- ----- ------ -------------------- ------
1234567 job1 USER 7:00 12 17.1% lThC.q 75-03 Sep 22 08:20:25 2024 69.6
1234568 job2 USER +2:19 12 26.5% lThC.q 84-01 Sep 23 10:12:02 2024 24.6
1234569 job3 USER +2:19 12 20.6% lThC.q 64-02 Sep 23 10:12:02 2024 26.6
Review your inefficient job(s), if they are still running, as they do not use as much resources as requested.
Hint: when the cpu% value is equal or close to 100/nPEs your job is not making use of the number of CPUs (aka cores, threads or slots) you have requested. You may not have have passed on the correct argument(s) to your application.
This check is run once a week.
What it means:
- You've had inefficient jobs, as defined in the Hydra Policies, in the last 7 days. This email is sent out weekly and will include inefficient jobs that are still running and recently completed.
What is shown in the email:
- The top table is the summary of all your inefficient jobs showing the number of unused (wasted) CPU days.
- In the bottom table, each inefficient job with that had at least one day of unused CPU is listed.
age: Length the job has been running, in either HH:MM or +DD:HH format.nPEs: the number of CPUs requested (aka number or processing elements).cpu%: The percentage ofnPEsthat were actually used, i.e. the job's efficiency. For example, 50% means that, on average, half of the CPUs requested were used.unused CPUs: the number of CPU days that were not used (wasted).
User action:
- Further examine the job scripts and usage statistics for the jobs that are listed in the lower table.
- See the section on Job Monitoring for how to assess your job's CPU use.
- Are you correctly specifying the number of CPUs for the analysis program to use?
- Adjust your CPU request or job script for similar jobs that you submit in the future.
'You have X running job(s) that use almost no CPU cycles: "hosed"'
Dear USER,
The following job is running but using almost no CPU cycles i.e.: efficiency (CPU/age) < 10% and age > 36hr
jobID name user age nPEs cpu% queue node taskID
1234570 job4 USER +3:13 10 9.9% lThM.q 64-17
The job is not using all the requested slots (CPUs/cores) or is 'hosed' - consider killing it.
For parallel jobs, when the efficiency (cpu%) value is close 100/nPEs, the job is not making effective use of parallelization, hence poor efficiency.
This check is run once a day to flag very inefficient jobs (i.e.: eff. < 10% and age > 36hr)
What it means:
- The jobs listed are using CPUs very inefficiently. The CPU usage efficiency is <10% and the job has been running more than 36 hours.
age: Length the job has been running, in either HH:MM or +DD:HH format.nPEs: the number of CPUs requested.cpu%: The percentage ofnPEsthat were actually used, i.e. the job's efficiency. For example, 50% means on average half of the CPUs requested were used.
User action:
- This message can indicate:
- The job has performed some analyses, but it is now in state where it is no longer using CPUs, that is, it's 'hosed.' You should kill this kind of job.
- You may not have specified the number of CPUs for the analysis code to use, so the code is only using 1 CPU.
- This is likely the case if the 100/nPEs is close to the cpu%.
- This is the case in the example warning message above:
nPEs= 10 andcpu%= 9.9, so100/nPEs= 10, which is very close tocpu%, which is 9.9.
- Your analysis software's use of CPUs is not constant throughout the analysis.
- This can be the case in analysis pipelines where only some processes are able to utilize multiple CPUs.
Over-use of CPUs by a job
- What is monitored: Jobs that are using more CPU resources than requested. These jobs can negatively impact other jobs on the compute node.
- User action: Since this can negatively impact other users of the compute node, examine the offending job as soon as possible. These jobs may be killed by admins if they are deemed to be negatively impacting the cluster.
"Your oversubscribed job(s) on Hydra"
Dear USER,
You have/had the following number of oversubscribed jobs running on Hydra over the past 7d:
module load tools/local
check-qlogs osub -from -7d -user USER
Checking oversubscribed jobs for excess CPU use (cpuT=133% xtraT=1 ageM=0.5 user='USER')
from Mon Jul 15 10:20:02 2024
report for Mon Jul 15 10:22:03 2024 to Mon Jul 22 10:12:04 2024
userName #jobs total average excess CPU use [day]
-------------------- ----- -------- --------
bourkeb 1 10.3 10.3
details are shown only for jobs with excess CPU use > 1 per job [in day]
jobID name user age nPEs cpu% queue node taskID date/time excess CPU use
---------- --------------- ---------------- ------ --------- ---- -------- ----- ------ -------------------- ------
1234571 job5 USER 17:33 8 275.8% mThM.q 64-18 Jul 18 02:57:04 2024 10.3
Consider killing your oversubscribed job(s), if they are still running, and restarting them by requesting the correct resources, or passing on the correct argument(s) to your application. We may, in the future, kill automatically oversubscribed job(s) that have exceeded some CPU usage threshold, especially if/when the cluster load is high.
This check is run once a week.
What it means:
- You've had jobs in the past week that use more CPUs than requested (oversubscribed). This email is sent out weekly and will include jobs that are still running and recently completed.
- The top table is the summary of all your oversubscribed jobs showing the number of excess CPU days.
- In the bottom table, each oversubscribed job with that had at least one day of excess CPU use is listed.
age: Length the job has been running, in either HH:MM or +DD:HH format.nPEs: the number of CPUs requested.cpu%: The percentage ofnPEsthat were actually used, i.e. the job's efficiency. These jobs use are >100% meaning that that they used more CPU than requested in the qsub command.excess CPU use: the number of extra CPU days that were.
User action:
- Further examine the job scripts and usage data for the jobs that are listed in the lower table.
- See the section on Job Monitoring for how to assess your job's CPU use.
- Are you correctly specifying the number of CPUs for the analysis program to use?
- For example, there are some analysis programs that will use all the compute node's CPUs unless you specify otherwise.
- Adjust your CPU request or job script for similar jobs that you submit in the future.
Over-reservation of memory
What is monitored: Jobs in the himem queues that reserve much more memory than the job uses.
"Memory Over-Reservation Warning - X job(s) reserved Y times MAXVMEM"
Dear USER,
1 of your job(s) reserved 3.0 times the used MAXVMEM so far, on average, as per:
check-memres -details -u USER
showing all jobs with age > 0.5 day && resd mem > 2.5 maxvmem for user 'USER'
jobid no of age cpu resd avg vmem maxvmem ratio eff% user
slots [day] [day] [GB] [GB] [GB] [GB] resd/maxvmem name
--------- ------------ ----- -------- ------- ------- ------- ----- ----- -------
1234572.1 5 25.6 54.2 100.0 33.3 33.4 33.8 3.0 42.3 USER
--------- ------------ -------- ------- ------- ------- ----- -------
In the future, please optimize your memory reservation when submitting jobs since over-reserving memory prevents others from running jobs in the high memory queues.
You can use:
module load tools/local
man check-memres
check-memres -details
to check yourself, and/or consult the HPC Wiki.
This check is run twice a week (Tue & Fri) and issues a warning only if you have jobs, at least 12hr old, that reserved more than 2.5 the amount of memory they have used so far, on average.
What it means:
- You have one or more running jobs that have reserved (with
m_res) >2.5x more memory than they are using (maxvmem) and have been running for more than 12 hours.
User action:
- Consult the section on Job Monitoring to review how to assess the resources used by a job.
- Since memory use can fluctuate during analysis, this is best done when the job has completed using a tool like
qacct+. - In future submissions of similar analyses, optimize (lower) the amount of memory reserved based on the actual memory use of this job that is triggering a warning.
Disk(s) quota over 95%
Warning: your disk usage is above 95% of your quota on some disk(s), consider trimming down your usage.
Note that when your quota reaches or exceeds 100% (see ***) you won't be able to write to that disk any longer.
Disk quota report: show usage above 95% of quota, as of Fri Oct 31 03:00:11 2025.
Volume=NetApp:vol_home, mounted as /home
-- disk -- -- #files -- default quota: 384.0GB/10.0M
Disk usage %quota usage %quota name, affiliation - username (indiv. quota)
-------------------- ------- ------ ------ ------ -------------------------------------------
/home 385.0GB 100.3% 0.05M 0.5% *** Rebeka Tamasi Bottger, SAO/OIR - rbottger
/home 371.3GB 96.7% 2.82M 28.2% Brian Bourke, WRBU - bourkeb
Volume=GPFS:scratch_public, mounted as /scratch/public
-- disk -- -- #files -- default quota: 15.00TB/39.8M
Disk usage %quota usage %quota name, affiliation - username (indiv. quota)
-------------------- ------- ------ ------ ------ -------------------------------------------
/scratch/public 17.20TB 114.7% 3.02M 0.0% *** Ting Wang, NMNH - wangt2
/scratch/public 15.00TB 100.0% 4.26M 0.0% *** Kevin Mulder, NZP - mulderk
Volume=GPFS:scratch_stri_ap, mounted as /scratch/stri_ap
-- disk -- -- #files -- default quota: 5.00TB/12.6M
Disk usage %quota usage %quota name, affiliation - username (indiv. quota)
-------------------- ------- ------ ------ ------ -------------------------------------------
/scratch/stri_ap 14.60TB 292.0% 0.05M 0.0% *** Carlos Arias, STRI - ariasc
Volume=NAS:store_public, mounted as /store/public
-- disk -- -- #files -- default quota: 0.0MB/0.0M
Disk usage %quota usage %quota name, affiliation - username (indiv. quota)
-------------------- ------- ------ ------ ------ -------------------------------------------
/store/public 4.80TB 96.1% - - Madeline Bursell, OCIO - bursellm (5.0TB/0M)
What it means:
- You are close or have exceeded your quota on one or more disks, whether disk space or number of files.
- Lines with
***mark quota exceeded
User action:
- Trim down your disk usage.
- If you have too many small files, consolidate them into an archive.
- See documentation on disk space and usage.
Disk usage is over 95% on 1 disk
Warning: disk usage check found 1 disk with %Use or %IUse >= 95%
Filesystem Type Size Used Avail Use% Inodes IUsed IFree IUse% File [shown only when Use% or IUse% >= 95%]
gpfs02:sao_atmos gpfs 350T 331T 20T 95% 280M 27M 254M 10% /scratch/sao_atmos
Details for /scratch/sao_atmos
Disk quota report: show usage above 5% of quota, (warning when quota > 95%),
on /scratch/sao_atmos (scratch_sao_atmos),
show only top 5 users, as of Thu Oct 30 15:00:10 2025.
Volume=GPFS:scratch_sao_atmos, mounted as /scratch/sao_atmos
-- disk -- -- #files -- default quota: 350.0TB/307.2M
Disk usage %quota usage %quota name, affiliation - username (indiv. quota)
-------------------- ------- ------ ------ ------ -------------------------------------------
/scratch/sao_atmos 92.80TB 26.5% 3.03M 0.0% Zolal Ayazpour, SAO/AMP - zayazpou
/scratch/sao_atmos 50.40TB 14.4% 0.32M 0.0% Juseon (Sunny) Bak, SAO/AMP - jbak
/scratch/sao_atmos 50.30TB 14.4% 0.93M 0.0% Gonzalo Abad Gonzalez, SAO/AMP - ggonzale
/scratch/sao_atmos 47.10TB 13.5% 11.14M 0.0% Heesung Chong, SAO/AMP - hchong
/scratch/sao_atmos 21.60TB 6.2% 1.77M 0.0% Hyeong-Ahn Kwon, SAO/AMP - hkwon
What it means:
- One or more disks are close to being full.
- You have files on at least one of them.
User action:
- Trim down your disk usage.
- If you have too many small files, consolidate them into an archive.
- See documentation on disk space and usage.
Last modified MK/SGK