How to enforce resource limit per job

We found that a Gaussian user was defining the pbs script with cpus=20 but the job was running with cpus=32. This is because gassian input had parameter of %cpus=32. So, above its clear that pbs parameters can be easily exploited by the users by asking less but forking later. Sometimes a users asks for more resources but using less. this is also a problem.

we defined the per node cpus as 32 and memory as 92gb. How to enforce resource limits and take action(notify admin and users’) in PBS?

Actions for,

  1. WALLTIME Requested job walltime.
    2.JOBMEM Maximum real memory/RAM (in MB) used by any single job.
  2. PROC Maximum processor load associated with any single job task.
    4.MINJOBPROC Minimum processor load associated with any single job (action taken if job is using 5% or less of potential CPU usage).
    5.MEM Maximum real memory/RAM (in MB) used by any single job task.
  3. JOBPROC Maximum processor load associated with any single job.
    7.CPUTIME Maximum total job proc-seconds used by any single job (allows scheduler enforcement of cpulimit).
    8.NETWORK Maximum network load associated with any single job task.

What version of PBS Pro are you using? Have you considered using the $enforce MoM parameter? Have you considered using cgroups? See the PBS Pro Reference Guide for more information on both…

PBS version is pbspro-server-19.1.1-0
Could you please elaborate the steps for cpu and memory resources configuration?

Hi Sam,

Cgroups are described in the Admin Guide… :slight_smile:

Cheers,
-Anne