pbs_sched_attributes(7B)

๐Ÿ“ฆ version 23.06.06-unstable-2026-04, in nixos 26.05, nixpkgs unstable

๐ŸŒธ NAME ๐ŸŒธ

okay bestie, this is pbs_sched_attributes(7B) โ€” the manual page for the attributes of the default PBS scheduler and multischeds. Itโ€™s giving scheduler lore, and youโ€™re gonna eat it up. ๐Ÿ’…โœจ

โœจ DESCRIPTION โœจ

okay so these are the attributes of the default PBS scheduler and PBS multischeds. No skipping, no cap โ€” every single one is here. ๐Ÿ’–

๐Ÿ’ฌ comment

For certain scheduler errors, PBS sets the schedulerโ€™s comment attribute to specific error messages. You can use the comment attribute to notify another administrator of something, but PBS does overwrite the value of comment under certain circumstances. Readable by all; settable by Manager.

  • Format: String
  • Default: no default
  • Python type: No Python type

๐Ÿงฉ do_not_span_psets

Specifies whether or not the scheduler requires the job to fit within one existing placement set. Readable by all; settable by Manager and Operator.

  • Format: Boolean
  • Behavior:
    • True โ€” The job must fit in one existing placement set. All existing placement sets are checked. If the job fits in an occupied placement set, the job waits for the placement set to be available. If the job cannot fit within a single placement set, it wonโ€™t run.
    • False โ€” The scheduler first attempts to place the job in a single placement set, but if it cannot, it allows the job to span placement sets, running on whichever vnodes can satisfy the jobโ€™s resource request.
  • Default: False
  • Python type: No Python type

๐ŸŽฏ job_sort_formula_threshold

Lower bound for calculated priority for job. If job priority is at or below this value, the job is not eligible to run in the current scheduler cycle. Readable by all; settable by Manager.

  • Format: Float
  • Default: None
  • Python type: No Python type

๐Ÿ“ log_events

Types of events logged by this scheduler. Readable by all; settable by Manager and Operator.

  • Format: Integer
  • Default: 767
  • Python type: No Python type

๐ŸŒผ only_explicit_psets

Specifies whether placement sets are created for unset resources. Readable by all; settable by Manager and Operator.

  • Format: Boolean
  • Behavior:
    • True โ€” Placement sets are not created from vnodes whose value for a resource is unset.
    • False โ€” placement sets are created from vnodes whose value for a resource is unset.
  • Default: False
  • Python type: No Python type

๐Ÿ”ฎ opt_backfill_fuzzy

Sets the tradeoff between scheduling cycle speed and granularity of estimated start time calculation. Readable by all; settable by Manager.

  • Behavior:
    • off โ€” Finest granularity; no speedup.
    • low โ€” Fairly fine granularity; some speedup.
    • medium โ€” Medium granularity; medium speedup.
    • high โ€” Coarse granularity; greatest speedup.
  • Format: String
  • Default: unset (behaves like low ).
  • Python type: No Python type

๐Ÿ—‚๏ธ partition

Name of partition for which this scheduler is to run jobs. Cannot be set on default scheduler.

  • Format: String
  • Default: "None"
  • Python type: No Python type

๐Ÿท๏ธ pbs_version

The version of PBS for this scheduler. Readable by Manager and Operator; not settable.

  • Format: String
  • Default: no default
  • Python type: No Python type

โšก preempt_order

Defines the order of preemption methods which this scheduler uses on jobs. This order can change depending on the percentage of time remaining on the job. The ordering can be any combination of S, C, R, and D.

Usage: an ordering (SCR) optionally followed by a percentage of time remaining and another ordering.

For example, PBS should first attempt to use suspension to preempt a job, and if that is unsuccessful, requeue the job:

preempt_order: "SR"

For example, if the job has between 100% and 810f requested time remaining, first try to suspend the job, then try checkpoint, then requeue. If the job has between 80% and 510f requested time remaining, attempt suspend, then checkpoint. Between 50% and 0% time remaining, just attempt to suspend the job:

preempt_order: "SCR 80 SC 50 S"

For each job percentage, each method can be used only once. Note that in the example above, the S method appears only once per percentage. Readable by all; settable by Manager.

  • Format: String, as a quoted list
  • Preemption methods:
    • C โ€” Checkpoint job
    • D โ€” Delete job
    • R โ€” Requeue job
    • S โ€” Suspend job
  • Default: SCR
  • Python type: No Python type

๐Ÿ‘‘ preempt_prio

Specifies the ordering of priority for different preemption levels. Two or more job types may be combined at the same priority level with a plus sign ("+") between them, using no whitespace. Comma-separated preemption levels are evaluated left to right, with higher priority to the left. Any level not specified in the preempt_prio list is ignored.

For example, starving jobs have the highest priority, then normal jobs, and jobs whose entities are over their fairshare limit are third highest:

preempt_prio: "starving_jobs, normal_jobs, fairshare"

For example, starving jobs whose entities are also over their fairshare limit are lower priority than normal jobs:

preempt_prio: "normal_jobs, starving_jobs+fairshare"

Readable by all; settable by Manager.

  • Format: string_array, as quoted string
  • Preemption levels:
    • express_queue โ€” Jobs in express queues preempt other jobs. See preempt_queue_prio. Does not require by_queue to be True.
    • starving_jobs โ€” When a job becomes starving it can preempt other jobs.
    • fairshare โ€” When the entity owning a job exceeds its fairshare limit.
    • queue_softlimits โ€” Jobs which are over their queue soft limits
    • server_softlimits โ€” Jobs which are over their server soft limits
    • normal_jobs โ€” The preemption level into which a job falls if it does not fit into any other specified level.
  • Default: express queue, normal_jobs
  • Python type: No Python type

๐Ÿšฆ preempt_queue_prio

Specifies the minimum queue priority required for a queue to be classified as an express queue. Express queues do not require by_queue to be True. Readable by all; settable by Manager.

  • Format: Integer
  • Default: 150
  • Python type: No Python type

๐Ÿ•ฐ๏ธ preempt_sort

Specifies whether jobs most eligible for preemption are sorted according to their start times. Readable by all; settable by Manager.

  • Format: String
  • Behavior:
    • unset โ€” Preempted job will be that with longest running time.
    • min_time_since_start โ€” First job preempted will be that with most recent start time.
  • Default: min_time_since_start
  • Python type: No Python type

โฑ๏ธ scheduler_iteration

Time in seconds between scheduling iterations. If you set the serverโ€™s scheduler_iteration attribute, that value is assigned to the default schedulerโ€™s scheduler_iteration attribute, and vice versa. Readable by all; settable by Manager.

  • Format: Integer
  • Units: Seconds
  • Default: 600
  • Python type: No Python type

โœ… scheduling

Enables scheduling of jobs. If you set the serverโ€™s scheduling attribute, that value is assigned to the default schedulerโ€™s scheduling attribute, and vice versa. Readable by all; settable by Manager.

  • Format: Boolean
  • Default value for default scheduler: True
  • Default value for multischeds: False
  • Python type: No Python type

๐Ÿ”„ sched_cycle_length

The schedulerโ€™s maximum cycle length. Overwritten by the -a option to the pbs_sched command. Readable by all and settable by the PBS Manager and Operator only.

  • Format: Duration
    • expressed as integer seconds, or
    • [[hours:]minutes:]seconds[.milliseconds]
  • Default: 20:00 (20 minutes)
  • Python type: No Python type

๐Ÿ–ฅ๏ธ sched_host

The hostname of the machine on which this scheduler runs. Cannot be set on default scheduler; value for default scheduler is server hostname. Must be set by administrator. Readable by Manager and Operator.

  • Format: String
  • Default value for multischeds: server hostname
  • Python type: No Python type

๐Ÿ“‚ sched_log

Directory where this scheduler writes its logs. Permissions should be 755. Must be owned by root. Cannot be shared with another scheduler.

  • Format: String
  • Default: $PBS_HOME/sched_logs_<scheduler name>

๐Ÿซฅ sched_port

Removed.

๐Ÿ›‘ sched_preempt_enforce_resumption

Controls whether the scheduler treats preempted jobs as top jobs. When True, preempted jobs are treated as top jobs. Readable by all; settable by Manager.

  • Format: Boolean
  • Default: False
  • Python type: No Python type

๐Ÿ—„๏ธ sched_priv

Directory where this scheduler keeps its fairshare usage, resource_group, holidays, and sched_config files. Must be owned by root. For default scheduler, use default value; do not set. Settable for multischeds. Readable by all; settable by Manager (for multischeds).

  • Format: String
  • Default: $PBS_HOME/sched_priv_<scheduler name>
  • Python type: No Python type

๐ŸŒˆ state

State of this scheduler.

  • States:
    • down โ€” Scheduler is not running.
    • idle โ€” Scheduler is running and is waiting for a scheduling cycle to be triggered.
  • scheduling โ€” Scheduler is running and is in a scheduling cycle.

For the scheduling attribute, the deets are:

  • Format: String
  • Default value for default scheduler: idle
  • Default value for multischeds: down
  • Python type: No Python type

โšก throughput_mode โšก

Okay bestie, this is the speed-run setting. It lets the scheduler run faster: it doesn't have to wait for each job to be accepted, and it doesn't wait for execjob_begin hooks to finish. It also lets jobs that were changed via qalter, server_dyn_res scripts, or peering run in the same scheduling cycle where they were changed. Iconic. ๐ŸŒˆ

Readable by all; settable by Manager and Operator. iykyk ๐Ÿ’…

  • Format: Boolean
  • Behavior:
    • True โ€” Scheduler runs asynchronously and faster. Only available when PBS complex is in TPP mode.
    • False โ€” Scheduler does not run asynchronously
  • Default: True
  • Python type: No Python type
Heads up, bestie: True is only available when the PBS complex is in TPP mode. No TPP, no async speediness. ๐Ÿ˜ญ

๐Ÿ” SEE ALSO ๐Ÿ”

  • qmgr(1B) โ€” the manager tool. Go read it, bestie. ๐Ÿ‘‘

That's the whole vibe. This page is from the Local manual, dated 4 March 2020, and it's for pbs_sched_attributes(7B). Periodt. ๐Ÿ’–

๐Ÿ“ฆ where this page comes from