pbs_server_attributes(7B)
β¨ NAME β¨
pbs_server_attributes β pbs server attributes. Okay so you opened pbs_server_attributes(7B), bestie, and it's literally the whole vibe check for PBS server attributes. Let's get into it π
π¦ DESCRIPTION π¦
Server attributes can be read by any client; privilege is not required, periodt. Most server attributes are alterable by a privileged client run by a user with administrator or operator privilege. Certain attributes are stricter and require full administrator privilege. Here's the full list of the server attributes β no skips, no cap β¨
accounting_keep_daysβ This defines the number of days that accounting files will be kept. Default value: unset βpbs_serverwill never delete accounting files. Format:integer.acl_group_hostsβ List of group/host combinations that authorize users to submit jobs. Groups are expanded on the server. Format:"group@hostname.domain[,...]"; default value: defer toacl_users.acl_group_sloppyβ This is a default value for the queue attribute of the same name. Format: boolean,"TRUE", "True", "true", "Y", "y", "1", "FALSE", "False", "false", "N", "n", "0"; default value: false = disabled.acl_host_enableβ Attribute which when true directs the server to use theacl_hostsaccess control lists. Requires full manager privilege to set or alter. Format: boolean,"TRUE", "True", "true", "Y", "y", "1", "FALSE", "False", "false", "N", "n", "0"; default value: false = disabled.acl_hostsβ List of hosts which may request services from this server. This list contains the network name of the hosts. Local requests, i.e. from the server's host itself, are always accepted even if the host is not included in the list. See section 10.1, Authorization, in the PBS External Reference Specification. Requires full manager privilege to set or alter. Format:"[+|-]hostname.domain[,...]"; default value: all hosts.acl_logic_orβ This is a default value for the queue attribute of the same name. Format: boolean,"TRUE", "True", "true", "Y", "y", "1", "FALSE", "False", "false", "N", "n", "0"; default value: false = disabled.acl_user_enableβ Attribute which when true directs the server to use the server levelacl_usersaccess list. Requires full manager privilege to set or alter. Format: boolean (seeacl_group_enable); default value: disabled.acl_user_hostsβ List of user/host combinations that authorize users to submit jobs. Format:"user@hostname.domain[,...]"; default value: defer toacl_users.acl_usersβ List of users allowed or denied the ability to make any requests of this server. See section 10.1, Authorization, in the PBS External Reference Specification. Ifacl_user_enableis set to true, only users listed inacl_usersmay submit to or execute jobs in the queue. Requires full manager privilege to set or alter. Format:"[+|-]user[@host][,...]"; default value: all users allowed.acl_rootsβ List of super users who may submit to and execute jobs at this server. If the job execution id would be zero (0), then the job owner,root@host, must be listed in this access control list or the job is rejected. Format:"[+|-]user[@host][,...]"; default value: no root jobs allowed.allow_node_submitβ Allow job submissions from compute nodes regardless ofruserok(). Requires full manager privilege to set or alter. Format: boolean; default value: disabled.allow_proxy_userβ Specifies users can proxy from one user to another. Proxy requests will be either validated byruserok()or by the scheduler. Format: boolean; default value: false.auto_node_npβ Automatically configure a node's np value based on the ncpus value from the status update. Requires full manager privilege to set or alter. Format: boolean; default value: disabled.automatic_requeue_exit_codeβ This is an exit code, defined by the admin, that tellspbs_serverto requeue the job instead of considering it as completed. This allows the user to add some additional checks that the job can run meaningfully, and if not, then the job script exits with the specified code to be requeued. Format:long; default value: none.clone_batch_delayβ Number of seconds to delay between cloning a batch for a job array. Format:integer; default value:1.clone_batch_sizeβ Number of jobs to clone in a batch for a job array. Format:integer; default value:256.credential_lifetimeβ The number of seconds that a client connection may stay connected without re-authenticating. Default is3600seconds.commentβ A text string which may be set by the scheduler or other privileged client to provide information to the batch system users. Format: any string; default value: none.copy_on_rerunβ When set to true, copy the output and error files over to the user-specified directory when a job is rerun. Format: boolean; default value: false.cray_enabledβ When set to true, specifies that this instance ofpbs_serverhas Cray hardware that reports to it. Format: boolean; default value: false.default_nodeβ A node specification to use if there is no other supplied specification. This attribute is only used by servers where a nodes file exist in theserver_privdirectory providing a list of nodes to the server. If the nodes file does not exist, this attribute is not set by default and is ignored if set. The default value allows for jobs to share a single node. Format: a node specification string; default value:1#shared.default_queueβ The queue which is the target queue when a request does not specify a queue name. Format: a queue name; default value: none, must be set to an existing queue.disable_automatic_requeueβ Normally, if a job cannot start due to a transient error, the MOM returns a special exit code to the server so that the job is requeued instead of completed. When this parameter is set, the special exit code is ignored and the job is completed. Format: boolean; default value: false.display_job_server_suffixβ When set to TRUE, Torque will display both the job ID and the host name. When set to FALSE, only the job ID will be displayed. Format: boolean; default value: true.dont_write_nodes_fileβ When set to TRUE, the nodes file cannot be overwritten for any reason;qmgrcommands to edit nodes will be rejected. Format: boolean; default value: false.note_append_on_errorβ Append the error string to the end of the current nodes note if MOM reports a message beginning with the string"ERROR". Format: boolean; default value: true.down_on_errorβ Set a node's state to"down"if MOM reports a message beginning with the string"ERROR". This might interfere with moab's node error handling. See the HEALTH CHECK section inpbs_mom(8B). This is an EXPERIMENTAL feature and may be removed in the future. Format: boolean; default value: true.disable_server_id_checkβ Makes it so the user for the job doesn't have to exist on the server. The user must still exist on all the compute nodes or the job will fail when it tries to execute. Format: boolean; default value: false.extra_rescβ Add additional string-type job resources. They have no effect within TORQUE and are only advisible to the scheduler. They can not be used forresources_default/min/max. Format: list; default value: none.interactive_jobs_can_roamβ By default, interactive jobs run from the login node that they submitted from. When TRUE, interactive jobs may run on login nodes other than the one where the jobs were submitted to. Only applies whencray_enabledis set. Format: boolean; default value: false.job_exclusive_on_useβ Whenjob_exclusive_on_useis set to TRUE,pbsnodeswill show job-exclusive on a node when there's at least one of its processors running a job. This differs with the default behavior which is to show job-exclusive on a node when all of its processors are running a job. Format: boolean; default value: false.job_force_cancel_timeβ If configured, number of seconds after a delete where a job will be purged by the server. If not configured, no such thing happens. Format:integer; default value: not used.job_full_report_timeβ Sets the time in seconds that a job should be fully reported after any kind of change to the job, even if condensed output was requested. Format:integer; default value:300seconds.job_log_file_max_sizeβ This specifies a soft limit (in kilobytes) for the job log's maximum size. The file size is checked every five minutes and if the current day file size is greater than or equal to this value, it is rolled from<filename>to<filename.1>and a new empty log is opened. If the current day file size exceeds the maximum size a second time, the<filename.1>log file is rolled to<filename.2>, the current log is rolled to<filename.1>, and a new empty log is opened. Each new log causes all other logs to roll to an extension that is one greater than its current number. Any value less than 0 is ignored bypbs_server(meaning the log will not be rolled). Format:integer; default value: none.job_log_file_roll_depthβ This sets the maximum number of new log files that are kept in a day if thejob_log_file_max_sizeparameter is set. For example, if the roll depth is set to 3, no file can roll higher than<filename.3>. If a file is already at the specified depth, such as<filename.3>, the file is deleted so it can be replaced by the incoming file roll,<filename.2>. Format:integer; default value: none.job_log_keep_daysβ okay so this one keeps your job logs around for the number of days you pick β¨. Set it to4and any job log file older than4days old gets deleted. Format: integer; default value: none. πjob_nannyβ turns on the βjob deletion nannyβ feature π§. All job cancels will create a repeating task that will resend KILL signals if the initial job cancel failed. Further job cancels will be rejected with the message"job cancel in progress."This is useful for temporary failures with a job's execution node during a job delete request. It is possible that the job nanny might interfere with job restarts, migrations, and checkpointing. Format: boolean; default value:false.job_start_timeoutβ specifies thepbs_servertopbs_momTCP socket timeout in seconds that is used when thepbs_serversends a job start to thepbs_momβ±οΈ. It is useful when the mom has extra overhead involved in starting jobs. If not specified then thetcp_timeoutvalue is used.job_stat_rateβ moderates how often job stat requests will be issued frompbs_serverto the MOM daemons π. Ifpoll_jobsis unset or false, then all jobs that haven't been updated injob_stat_rateseconds will trigger a stat request. Ifpoll_jobsis true, then all jobs will be updated everyjob_stat_rate. (seepoll_jobs) On active clusters,60or120might be reasonable. Default value:45seconds (PBS_RESTAT_JOBinserver_limits.h) Minimum value:4seconds (PBS_JOBSTAT_MINinserver_limits.h).job_sync_timeoutβ when a stray job is reported on multiple nodes, the server sends a kill signal to one node at a time π. This timeout determines how long the server waits between kills if the job is still being reported on any nodes. Format: integer; default value:60.keep_completedβ number of seconds to retain completed jobs in theCstate π°οΈ. This is overridden by the execution queue attribute of the same name. Format: integer; default value:0.kill_delayβ the amount of the time delay between the sending ofSIGTERMandSIGKILLwhen aqdelcommand is issued against a running job π. This is overridden by the execution queue attribute of the same name. Format: integer seconds; default value:2seconds.lock_fileβ specifies the name and location of the lock file used to determine which high availability server should be active π. If a full path is specified, it is used verbatim by TORQUE. If a relative path is specified, TORQUE will prefix it with$TORQUE_HOME/server_priv. Format: string; default value:$TORQUE_HOME/server_priv/server.lock.lock_file_update_timeβ specifies how often (in seconds) the thread will update the lockfile β²οΈ. (for threaded high availability) Format: integer; default value:3.lock_file_check_timeβ specifies how often (in seconds) a high availability server will check to see if it should become active π. (for threaded high availability) Must be greater thanlock_file_update_time. Format: integer; default value:9.log_eventsβ a bit string which specifies the type of events which are logged, see the section on Event Logging in chapter 3 of the ERS π. Format: integer; default value:511, all events.log_file_max_sizeβ if this is set to a value> 0thenpbs_serverwill roll the current log file tologfile.1when its size is greater than or equal to the value oflog_file_max_sizeπ. This value is interpreted as kilobytes.log_file_roll_depthβ if this is set to a value>=1andlog_file_max_sizeis set thenpbs_serverwill continue rolling the log files tologfile.log_file_roll_depth.log_keep_daysβ if this is set then logs older than X days will be removed by the server ποΈ. Format: integer; default value:not enforced;.log_levelβ controls the verbosity of server logs π. This value ranges from0to7with7representing maximum verbosity. Format: integer; default value:0, minimum verbosity.mail_body_fmtβ override the default format for the body of outgoing mail messages π. A number of printf-like format specifiers and escape sequences can be used:\nβ new line\tβ horizontal tab\\β backslash\'β single quote\"β double quote%dβ details concerning the message%hβ PBS host name%iβ PBS job identifier%jβ PBS job name%mβ long reason for message%rβ short reason for message%%β a single%
Format: a printf-like format string; Default value: "PBS Job Id: %i\nJob Name: %j\nExec host: %h\n%m\n%d\n".
mail_domainβ override the default domain for outgoing mail messages π§. If set, emails will be addressed to"euser@mail_domain". If unset, the job'sJob_Ownerattribute will be used. If set to"never", TORQUE will never send emails. Format: a domain name; Default value: none.mail_fromβ set theFrom:header for all outgoing emails frompbs_serverπ. Format: an email address; Default value:"adm".mail_subject_fmtβ override the default format for the subject of outgoing mail messages π¬. A number of printf-like format specifiers and escape sequences can be used:\nβ new line\tβ horizontal tab\\β backslash\'β single quote\"β double quote%dβ details concerning the message%hβ PBS host name%iβ PBS job identifier%jβ PBS job name%mβ long reason for message%rβ short reason for message%%β a single%
Format: a printf-like format string; Default value: "PBS JOB %i".
mail_uidβ the uid from which server generated mail is sent to users π¬. Format: integer uid; default value:0for root.managersβ list of users granted batch administrator privileges π. Format:user@host.sub.domain[,user@host.sub.domain...]. The host, sub-domain, or domain name may be wild carded by the use of an*character, see the description of user access control lists in chapter 10.1.1 of the ERS. Requires full manager privilege to set or alter. Default value: root on the local host.max_job_array_sizeβ specifies the maximum number of jobs that can be in any requested job array π―. Arrays requesting more jobs than configured will be rejected. Format: integer; default value: Unlimited.max_slot_limitβ no array can request a slot limit greater than10π¦. Any array that does not request a slot limit receives a slot limit of10. Using the example above, slot requests greater than10are rejected. A slot limit is the maximum number of jobs from an array that can run concurrently. Format: integer; default value: Unlimited.max_runningβ the maximum number of jobs allowed to be selected for execution at any given time π. Advisory to the Scheduler, not enforced by the server. Format: integer.max_user_runβ the maximum number of jobs owned by a single user that are allowed to be running from this queue at one time π€. This attribute is advisory to the Scheduler, it is not enforced by the server. Format: integer; default value: none.max_group_runβ the maximum number of jobs owned by any users in a single group that are allowed to be running from this queue at one time π₯. This attribute is advisory to the Scheduler, it is not enforced by the server. Format: integer; default value: none.max_threadsβ this is the maximum number of threads that should exist in the thread pool at any time π§΅. Format: integer; default value:((2 * the number of procs listed in /proc/cpuinfo) + 1) * 20.max_user_queuableβ when set,max_user_queuableplaces a system-wide limit on the amount of jobs that an individual user can queue π§. Format: integer; default value: unlimited.min_threadsβ this is the minimum number of threads that should exist in the thread pool at any time πͺ‘. Format: integer; default value:(2 * the number of procs listed in /proc/cpuinfo) + 1.moab_array_compatibleβ this parameter places a hold on jobs that exceed the slot limit in a job array β. When one of the active jobs is completed or deleted, one of the held jobs goes to a queued state. Format: boolean; default value:true.mom_job_syncβ enables the βjob sync on MOMβ feature π. When MOMs send a status update, and it includes a list of jobs, server will issue job deletes for any jobs that don't actually exist. Format: boolean; default value:true.next_job_numberβ this hidden attribute is used to allow a manager to set the value of the next job ID viaqmgrπ’. This attribute should rarely be modified. Some sites may find it useful if they need to recreate theirpbs_serverdatabase (perhaps due to a format change between major TORQUE versions) and they keep a database of job information indexed by the job ID. The manager should be careful to avoid setting the value to something that would allow the next job number to conflict with a job already queued, however Torque will handle this in a sane manner: the job submission will be rejected and the next job number will be incremented.net_counterβ lists the3numbers representing the number of connections in the last5seconds,30seconds, and60seconds πΆ. This is a read-only attribute. Format: string; default value: none.no_mail_forceβ this attribute can be set by a manager viaqmgrπ. When set true, Torque will not force mail to be sent to the user when the jobsmail_pointsis set to"n". User will not receive notice of job failures or deletions. Format: boolean; default value:false.node_check_rateβ so back in OpenPBS this was literally just "how often doespbs_servergo poll each node," but TORQUE changed the game: nodes now ping in with updates all on their own, no solicitation needed β¨. So this attribute got a glow-up and now means the max number of seconds allowed to pass without an update beforepbs_serveris like "ok they're ghosting me, node is down π". Format: integer; default value:150.node_ping_rateβ the maximum interval (in seconds) between successive pings thatpbs_serversends over topbs_mom, just to vibe-check whether the node/daemon is still alive π«Ά. Format: integer; default value:300.node_packβ this one controls how multi-processor nodes get handed out to jobs, and it's giving strategy era:- set to true β jobs get assigned to the multiple processor nodes with the fewest free processors. Basically it packs jobs into the fewest possible nodes, which leaves those big multi-processor nodes free for the jobs that actually need lots of processors on one node π.
- set to false β jobs get scattered across nodes instead, which cuts down on memory conflicts between jobs πΈ.
- left unset β jobs are packed onto nodes in the order the nodes were declared to the server (in the nodes file). Default value: unset β assigned to nodes as nodes in order that were declared.
node_suffixβ slaps a domainname onto node names before IP lookups happen. Format: string; default value: none.np_defaultβ lets the admin unify the number of processors (np) across all nodes, fr fr. The value can be dynamically changed. A value of0tellspbs_serverto just use the value of np found in the nodes file. The maximum value is32767. Format: integer; default value: not used.operatorsβ the list of users who get batch operator privileges. Format of the list is identical withmanagersabove, iykyk. Requires full manager privilege to set or alter. Default value:rooton the local host.owner_purgeβ lets job owners forcibly purge their own jobs from the server π. Heads up bestie, this short-circuits the normal flow of events and is hightly discouraged. Default value: unset.
Like, genuinely β hightly discouraged. Not me warning you twice. π
pass_cpuclockβ okay so this is a whole thing:- If set to
TRUE, thepbs_serverdaemon passes the option and its value to thepbs_momdaemons for direct implementation by the daemons, which makes the CPU frequency adjustable as part of a resource request by a job submission β¨. - If set to
FALSE, thepbs_serverdaemon instead creates and passes aPBS_CPUCLOCKjob environment variable to thepbs_momdaemons, containing the value of thecpuclockattribute used as part of a resource request by a job submission. The CPU frequencies on the MOMs are not adjusted. That env var is for prologue and epilogue scripts β it lets administrators log and research when users are makingcpuclockrequests, and lets researchers/developers perform CPU clock frequency changes using a method outside of the one the Torquepbs_momdaemons use π§. Format: boolean; default value:true.
- If set to
poll_jobsβ controls howpbs_serversends job status requests to MOMs:- unset or false β statjob requests from clients (like
qstat(1B)or the scheduler) may trigger job status requests to MOMs, and those have to wait until the MOMs reply. This is suitable for small to medium sized clusters. - true β
pbs_serversends periodic job status requests. This is suitable for busy clusters with lots of jobs, lots of clients, whenqstat(1B)is too slow, or when your scheduler times out π₯. (seejob_stat_rate) Default value:TRUE.
- unset or false β statjob requests from clients (like
query_other_jobsβ controls whether general users, other than the job owner, are allowed to query the status of or select the job π. Format: boolean (seeacl_host_enable); Requires full manager privilege to set or alter. default value:falseβ users may not query or select jobs owned by other users.record_job_infoβ this must be set toTRUEfor job logging to be enabled, periodt. Format: boolean; default value:false.record_job_scriptβ if set toTRUE, this adds the contents of the script executed by a job to the log π. Forrecord_job_scriptto take effect,record_job_infomust be set toTRUE. Format: boolean; default value:false.resources_availableβ the list of resources and amounts available to jobs run by this server. The sum of the resource of each type used by all jobs running by this server cannot exceed the total amount listed here. Advisory to the Scheduler, not enforced by the server π . Format:"resources_available.resource_name=value[,...]".resources_costβ the cost factors of various types of resources πΈ. These values are used in determining the order of releasing members of synchronous job sets β see the section on Synchronize Job Starts. For the most part these values are purely arbitrary and only have meaning in the relative values between systems. The cost of the resources requested by a job is the sum of the products of the variousresources_costs and the amount of each resource requested by the job. It is not necessary to assign a cost for each possible resource, only those which the site wishes to be considered in synchronous job scheduling. Format:"resources_cost.resource_name=value[,...]"; default value: none, cost of resource is not computed.resources_defaultβ the list of default resource values set as limits for a job executing on this server when the job doesn't specify a limit AND there's no queue default β¨. Format:"resources_default.resource_name=value[,...]"; default value: no limit.resources_maxβ the maximum amount of each resource which can be requested by a single job executing on this server, if there's not aresources_maxvalue defined for the queue the job resides in. Format:"resources_max.resource_name=value[,...]"; default value: infinite usage.sched_versionβ a string specifying the scheduler version. Schedulers should check this string when starting and not become active if the wrong string is found π. This is ignored bypbs_server.scheduler_iterationβ Has no effect. That's it. That's the whole vibe check. πschedulingβ controls whether the server will request job scheduling by the PBS job scheduler. Iftrue, the scheduler gets called as required; iffalse, the scheduler won't be called and no job will be placed into execution unless the server is directed to do so by an operator or administrator π. Setting or resetting this attribute totrueresults in an immediate call to the scheduler. For more info, see the section Scheduler - Server Interaction in the PBS Administrator Guide. Format: boolean (seeacl_host_enable); default value: value of-aoption when server is invoked β if-ais not specified, the value is recovered from the prior server run. If it has never been set, the value is"false".server_nameβ the name of the server, which is the same as the host name π. If the hostname resolves to an external IP address, then set this to a name that resolves to the internal IP.submit_hostsβ a list of hostnames allowed to submit jobs to this batch server regardless ofruserok()β¨.system_costβ an arbitrary value factored into the resource cost of any job managed by this server, for the purpose of selecting which member of a synchronous set is released first β seeresources_costand section 3.2.2, Synchronize Job Starts. [default value: none, cost of resource is not computed]tcp_timeoutβ specifies thepbs_servertopbs_momTCP socket timeout in seconds β±οΈ. Format: integer; default value:6.thread_idle_secondsβ the number of seconds a thread can be idle in the thread pool before it gets deleted π¦. If threads should not be deleted, set to-1. Torque will always maintain at leastmin_threadsnumber of threads, even if all are idle. Format: integer; default value:300.timeout_for_job_deleteβ the specific timeout used when deleting jobs because the node they're executing on is being deleted π. Format: integer; default value:120.timeout_for_job_requeueβ the specific timeout used when requeuing jobs because the node they're executing on is being deleted. Format: integer; default value:120.use_jobs_subdirsβ lets an administrator direct the waypbs_serverstores its job-related files π. Whenuse_jobs_subdirsis unset (or set toFALSE), job and job array files are stored directly under$PBS_HOME/server_priv/jobsand$PBS_HOME/server_priv/arrays. Whenuse_job_subdirsis set toTRUE, job and job array files get distributed over10subdirectories under their respective parent directories β which helps keep a smaller number of files in any given directory. Format: boolean; default value:false.
The following attributes are read-only β the server maintains them, and a client cannot change them π:
pbs_versionβ the release version number of the server.resources_assignedβ the total amount of certain types of resources allocated to running jobs.server_stateβ the current state of the server:- Active β The server is running and will invoke the job scheduler as required to schedule jobs for execution.
- Idle β The server is running but will not invoke the job scheduler.
- Scheduling β The server is running and there is an outstanding request to the job scheduler.
- Terminating β The server is terminating. No additional jobs will be scheduled.
Terminating, Delayedβ bestie, she's leaving but politely π the server is terminating in delayed mode: it will not run any new jobs, and it will shut itself down the second the last currently executing job finishes. No new arrivals, just a graceful little exit. slay.state_countβ the total number of jobs managed by the server right now, broken out for each state. iykyk, it's the headcount per vibe π«Άtotal_jobsβ the total number of jobs currently managed by the server. that's the whole roster, periodt β¨
π SEE ALSO π
- the PBS ERS
qmgr(1B)pbs_resources(7B)
go read those too, they're literally iconic π
okay that's the whole page, bestie, you made it to the end π this one's filed under Local and it's pbs_server_attributes(7B) β no date on the footer, so don't come for me π now go configure something gorgeous π
π¦ where this page comes from
- epel 9: torque-client 6.1.3-8.el9 Β· OpenPBS and TORQUEv1.1
- nixos 26.05: torque 6.1.3h2
- nixpkgs unstable: torque 6.1.3h2
- Copyright (c) 1999-2000 Veridian Information Solutions, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms