pbs_sched_attributes(7B)
๐ธ 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 likelow). - 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 jobDโ Delete jobRโ Requeue jobSโ 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. Seepreempt_queue_prio. Does not requireby_queueto beTrue.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 limitsserver_softlimitsโ Jobs which are over their server soft limitsnormal_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
- nixos 26.05: openpbs 23.06.06-unstable-2026-04-02
- nixpkgs unstable: openpbs 23.06.06-unstable-2026-04-02
- Copyright (C) 1994-2021 Altair Engineering, Inc
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms