pbs_mom(8B)
pbs_mom(8B) ๐
okay bestie, welcome to the PBS Professional manual page for pbs_mom(8B) โ the PBS job monitoring and execution daemon. This is the whole lore, no skips, no cap.
๐ธ NAME ๐ธ
pbs_mom โ run the PBS job monitoring and execution daemon
โจ SYNOPSIS โจ
pbs_mom [-a <alarm timeout>] [-C <checkpoint directory>]
[-c <config file>] [-d <MoM home directory>] [-L <logfile>]
[-M <MoM service port>] [-N] [-n <nice value>] [-p|-r]
[-R <inter-MoM communication port>] [-S <server port>]
[-s <options>]
pbs_mom --version
๐ซถ DESCRIPTION ๐ซถ
The pbs_mom command starts the PBS job monitoring and execution daemon, called MoM. Yes, she has a name, and she is basically the main character of job execution energy.
The standard MoM starts jobs on the execution host, monitors and reports resource usage, enforces resource usage limits, and notifies the server when the job is finished. The MoM also runs any prologue scripts before the job runs, and runs any epilogue scripts after the job runs. Iconic behavior, honestly.
The MoM performs any communication with job tasks and with other MoMs. The MoM on the first vnode on which a job is running manages communication with the MoMs on the remaining vnodes on which the job runs.
The MoM manages one or more vnodes. PBS may treat a host as a set of virtual nodes, in which case one MoM manages all of the host's vnodes. One MoM, many vnodes, she contains multitudes.
๐ Logging
The MoM's log file is in PBS_HOME/mom_logs. The MoM writes an error message in its log file when it encounters any error. If it cannot write to its log file, it writes to standard error. The MoM writes events to its log file. The MoM writes its PBS version and build information to the logfile whenever it starts up or the logfile is rolled to a new file. Receipts? Logged. Version info? Also logged. Periodt.
๐ Required Permission
The executable for pbs_mom is in PBS_EXEC/sbin, and can be run only by root on Linux, and Admin on Windows. Root on Linux, Admin on Windows โ that's the whole permission vibe check.
๐ป HPE machine Running Supported Versions of Performance Software - Message Passing Interface ๐ป
A PBS job can run across multiple machines that run supported versions of Performance Software - Message Passing Interface.
PBS can run using HPE's MPI (MPT) over InfiniBand.
๐ Effect on Jobs of Starting MoM ๐
When MoM is started or restarted, her default behavior is to leave any running processes running, but to tell the PBS server to requeue the jobs she manages. MoM tracks the process ID of jobs across restarts.
In order to have all jobs killed and requeued, use the -r option when starting or restarting MoM.
In order to leave any running processes running, and not to requeue any jobs, use the -p option when starting or restarting MoM.
๐ฅ OPTIONS ๐ฅ
-a <alarm timeout>โ Number of seconds before alarm timeout. Whenever a resource request is processed, an alarm is set for the given amount of time. If the request has not completed before alarm timeout, the OS generates an alarm signal and sends it to MoM. Default: 10 seconds. Format: integer.-C <checkpoint directory>โ Specifies the path of the directory where MoM creates job-specific subdirectories used to hold each job's restart files. MoM passes this path to checkpoint and restart scripts. Overrides other checkpoint path specification methods. Any directory specified with the-Coption must be owned, readable, writable, and executable by root only (rwx,---,---, or0700), to protect the security of the checkpoint files. See the-doption. Format: string. Default:PBS_HOME/spool/checkpoint.-c <config file>โ MoM will read this alternate default configuration file upon starting. If this is a relative file name it will be relative toPBS_HOME/mom_priv. If the specified file cannot be opened,pbs_momwill abort. See the-doption.
MoM's normal operation, when the -c option is not given, is to attempt to open the default configuration file PBS_HOME/mom_priv/config. If this file is not present, pbs_mom will log the fact and continue. Lowkey graceful about it.
-d <MoM home directory>โ Specifies the path of the directory to be used in place ofPBS_HOMEbypbs_mom. The default directory is given by$PBS_HOME. Format: string.-L <logfile>โ Specifies an absolute path and filename for the log file. The default is a file named for the current date inPBS_HOME/mom_logs/. See the-doption. Format: string.-M <MoM port>โ Specifies the number of the port on which MoM will listen for server requests and instructions. OverridesPBS_MOM_SERVICE_PORTsetting inpbs.confand environment variable. Default: 15002. Format: integer port number.-n <nice value>โ Specifies the priority for thepbs_momdaemon. Format: integer.-Nโ Specifies that when starting, MoM should not detach from the current session.-pโ Specifies that when starting, MoM should allow any running jobs to continue running, and not have them requeued. This option can be used for single-host jobs only; multi-host jobs cannot be preserved. Cannot be used with the-roption. MoM is not the parent of these jobs.-rโ Specifies that when starting, MoM should requeue any rerunnable jobs and kill any non-rerunnable jobs that she was tracking, and mark the jobs as terminated. Cannot be used with the-poption. MoM is not the parent of these jobs.
It is not recommended to use the-roption after a reboot, because process IDs of new, legitimate tasks may match those MoM was previously tracking. If they match and MoM is started with the-roption, MoM will kill the new tasks. That's a big yikes โ process ID matchmaking is NOT cute here.
-R <inter-MoM communication port>โ Specifies the number of the port on which MoM will listen for pings, resource information requests, communication from other MoMs, etc. OverridesPBS_MANAGER_SERVICE_PORTsetting inpbs.confand environment variable. Default: 15003. Format: integer port number.-S <server port>โ Specifies the port number on whichpbs_mominitially contacts the server. Default: 15001. Format: integer port number.-s <file options>โ If you are running the cgroups hook, make sure that the vnode names in any Version 2 configuration file exactly match those in the output ofpbsnodes -av. This option lets you add, delete, and display MoM Version 2 configuration files. See CONFIGURATION FILES. Run this command at the host you want to change. The file options are used this way:-s insert <Version 2 filename> <inputfile>โ Readsinputfileand copies it to a Version 2pbs_momconfiguration file with the filenameVersion 2 filename. For example, to create a Version 2 file named "Myhost_V2":
pbs_mom -s insert <Myhost_V2> <myhost_v2_input>
If a configuration file with the specified Version 2 filename already exists, the operation fails, and pbs_mom writes a diagnostic and exits with a nonzero status. Configuration files whose names begin with the prefix "PBS" are reserved. You cannot add a file whose name begins with "PBS"; pbs_mom will print a diagnostic message and exit with a nonzero status. Reserved prefix means hands off, bestie.
-s remove <Version 2 filename>โ Removes the configuration file namedVersion 2 filenameif it exists. Example:
pbs_mom -s remove <Version 2 filename>
If the file does not exist or if you try to remove a file with the reserved "PBS" prefix, the operation fails, and pbs_mom prints a diagnostic and exits with a nonzero status.
-s show <Version 2 filename>โ Prints the contents of the named file to standard output. Example:
pbs_mom -s show <Version 2 filename>
If Version 2 filename does not exist, the operation fails, and pbs_mom writes a diagnostic and exits with a nonzero status.
-s listโ MoM lists the PBS-prefixed and site-defined configuration files in the order in which they are executed. Example:
pbs_mom -s list
๐จ WINDOWS ๐จ
Under Windows, use the -N option so that pbs_mom will start up as a standalone program. For example:
pbs_mom -N -s insert <Version 2 filename> <inputfile>
or
pbs_mom -N -s list
--versionโ Thepbs_momcommand returns its PBS version information and exits. This option can only be used alone. Just her little version reveal moment, and nothing else.
๐ CONFIGURATION FILES ๐
okay so MoM's configuration info can live in configuration files of three types: default, PBS-prefixed, and site-defined. The default configuration file is usually PBS_HOME/mom_priv/config. The "PBS" prefix is reserved for files created by PBS. Site-defined configuration files are those created by the site administrator. MoM reads the configuration files at startup and reinitialization. The files are processed in this order:
- The default configuration file
- PBS-prefixed configuration files
- Site-defined configuration files
The contents of a file read later override the contents of a file read earlier. For example, to change flags, create a script "update_flags" then use the -s insert option:
pbs_mom -s insert update_script update_flags
This adds the configuration file "update_script". Configuration files can be added, deleted and displayed using the -s option.
MoM's configuration files can use either the syntax shown below under Default Syntax and Contents or the syntax for describing vnodes shown in Vnode Syntax.
๐ Location ๐
The default configuration file is in PBS_HOME/mom_priv/.
PBS places PBS-prefixed and site-defined configuration files in an area that is private to each installed instance of PBS. This area is relative to the default PBS_HOME. Note that the -d option changes where MoM looks for PBS_HOME.
The -c option will change which default configuration file MoM reads.
Site-defined configuration files can be moved from one installed instance of PBS to another.
๐จ Do not move PBS-prefixed configuration files.
To move a set of site-defined configuration files from one installed instance of PBS to another:
- Use the
-s listdirective with the"source"instance of PBS to enumerate the site-defined files. - Use the
-s showdirective with each site-defined file of the"source"instance of PBS to save a copy of that file. - Use the
-s insertdirective with each file at the"target"instance of PBS to create a copy of each site-defined configuration file.
๐ฆ Vnode Configuration File Syntax and Contents ๐ฆ
Configuration files with the following syntax describe vnodes and the resources available on them. They do not contain initialization values for MoM.
PBS-prefixed configuration files use the following syntax. Other configuration files can use the following syntax.
Any configuration file containing vnode-specific assignments must begin with this line:
$configversion 2
The format a file containing vnode information is:
<ID> : <ATTRNAME> = <ATTRVAL>
where
<ID>โ sequence of characters not including a colon (":")<ATTRNAME>โ sequence of characters beginning with alphabetics or numerics, which can contain underscore ("_") and dash ("-")<ATTRVAL>โ sequence of characters not including an equal sign ("=")
The colon and equal sign may be surrounded by spaces.
A vnode's ID is an identifier that will be unique across all vnodes known to a given pbs_server and will be be stable across reinitializations or invocations of pbs_mom. ID stability is of importance when a vnode's CPUs or memory might be expected to change over time and PBS is expected to adapt to such changes by resuming suspended jobs on the same vnodes to which they were originally assigned. Vnodes for which this is not a consideration may simply use IDs of the form "0", "1", etc. concatenated with some identifier that ensures uniqueness across the vnodes served by the pbs_server.
A natural vnode does not correspond to any actual hardware. It is used to define any placement set information that is invariant for a given host, such as pnames.
It is defined as follows:
- The name of the natural vnode is, by convention, the MoM contact name, which is usually the hostname. The MoM contact name is the vnode's MoM attribute. See the
pbs_node_attributes(7B)man page. - An attribute,
"pnames", with value set to the list of resource names that define the placement sets' types for this machine. - An attribute,
"sharing"is set to the value"force_shared"
The natural vnode is used to define any placement set information that is invariant for a given host (e.g. the placement set resource names themselves).
The order of the pnames attribute follows placement set organization. If name X appears to the left of name Y in this attribute's value, an entity of type X may be assumed to be smaller (that is, be capable of containing fewer vnodes) than one of type Y. No such guarantee is made for specific instances of the types.
For example, on an HPE machine named "HostA", with two vnodes, a natural vnode, four processors and two cbricks, the description would look like this:
HostA: pnames = cbrick
HostA: sharing = force_shared
HostA[001c02#0]: sharing = default_excl
HostA[001c02#0]: resources_available.ncpus = 2
HostA[001c02#0]: resources_available.cbrick = cbrick-0
HostA[001c02#0]: resources_available.mem = 1968448kb
HostA[001c04#0]: sharing = default_excl
HostA[001c04#0]: resources_available.ncpus = 2
HostA[001c04#0]: resources_available.cbrick = cbrick-1
HostA[001c04#0]: resources_available.mem = 1961328kb
The natural vnode is described in the first two lines. The first vnode uses cbrick-0, and the second one uses cbrick-1.
๐ธ Default Syntax and Contents ๐ธ
Configuration files with this syntax list local resources and initialization values for MoM. Local resources are either static, listed by name and value, or externally-provided, listed by name and command path. See the -c option.
Each configuration item is listed on a single line, with its parts separated by white space. Comments begin with a hashmark ("#").
โ ๏ธ The default configuration file must be secure. It must be owned by a user ID and group ID both less than 10 and must not be world-writable.
โจ Externally-provided Resources โจ
Externally-provided resources use a shell escape to run a command. These resources are described with a name and value, where the first character of the value is an exclamation mark ("!"). The remainder of the value is the path and command to execute.
Parameters in the command beginning with a percent sign ("%") can be replaced when the command is executed. For example, this line in a configuration file describes a resource named "escape":
escape !echo 0xx %yyy
If a query for the "escape" resource is sent with no parameter replacements, the command executed would be "echo 0xx %yyy". If one parameter replacement is sent, "escape[xxx=hi there]", the command executed would be "echo hi there %yyy". If two parameter replacements are sent, "escape[xxx=hi][yyy=there]", the command executed would be "echo hi there". If a parameter replacement is sent with no matching token in the command line, "escape[zzz=snafu]", an error is reported.
๐ฆ Windows Notes ๐ฆ
If the argument to a MoM option is a pathname containing a space, enclose it in double quotes as in the following:
hostn !"\Program Files\PBS Pro\exec\bin\hostn" host
When you edit any PBS configuration file, make sure that you put a newline at the end of the file. The Notepad application does not automatically add a newline at the end of a file; you must explicitly add the newline.
๐ฅ Replacing Actions ๐ฅ
$action <default action> <timeout> <new action>
Replaces the default action for an event with the site-specified new action. timeout is the time allowed for new action to run. The default action can be one of:
checkpointโ Run new action in place of the periodic job checkpoint, after which the job continues to run.checkpoint_abortโ Run new action to checkpoint the job, after which the job must be terminated by the script.multinodebusy <timeout> requeueโ Used with cycle harvesting and multi-vnode jobs. Changes default behavior when a vnode becomes busy. Instead of allowing the job to run, the job is requeued.timeoutis ignored. The only new action isrequeue.restartโ Runs new action in place of restart.terminateโ Runs new action in place ofSIGTERMorSIGKILLwhen MoM terminates a job.
๐ MoM Parameters ๐
$alps_client <path>โ Cray only. MoM runs this command to get the ALPS inventory. Must be full path to command. Format: path to command. Default: None.alps_release_jitter <maximum jitter>โ Cray only. PBS sends requests to ALPS to release a finished job at intervals specified by the sum of$alps_release_wait_timeand a randomly generated value between zero and maximum jitter, in seconds. Format: Float. Default: 0.12 seconds.$alps_release_timeout <timeout>โ Cray only. Specifies the amount of time that PBS tries to release an ALPS reservation before giving up. After this amount of time has passed, PBS stops trying to release the ALPS reservation, the job exits, and the job's rsources are released. PBS sends aHUPto the MoM so that she re-reads the ALPS inventory to get the current available ALPS resources. We recommend that the value for this parameter be greater than the value forsuspectbegin. Format: Seconds, specified as positive integer. Default: 600 (10 minutes).$alps_release_wait_time <wait time>โ Cray only. PBS sends requests to ALPS to release a finished job at intervals specified by the sum of wait time and a randomly generated value between zero and the maximum specified in$alps_release_jitter, in seconds. Format: Float. Default: 0.4 seconds.$checkpoint_path <path>โ MoM passes this path to checkpoint and restart scripts. This path can be absolute or relative toPBS_HOME/mom_priv. Overrides default. Overridden bypbs_mom -Coption and byPBS_CHECKPOINT_PATHenvironment variable.$clienthost <hostname>โhostnameis added to the list of hosts which are allowed to connect to MoM as long as they are using a privileged port. For example, this allows the hosts"fred"and"wilma"to connect to MoM:
"$clienthost fred"
"$clienthost wilma"
So the following hostnames are added to $clienthost automatically: the server, the localhost, and if configured, the secondary server. The server sends each MoM a list of the hosts in the nodes file, and those get added internally to $clienthost. None of these hostnames need to be listed in the configuration file โ not even one, bestie ๐
.
Two hostnames are always allowed to connect to pbs_mom: "localhost" and the name returned to MoM by the system call gethostname(). These hostnames do not need to be listed in the configuration file either โจ.
The hosts listed as "clienthosts" make up a "sisterhood" of machines. Any one of the sisterhood will accept connections from within the sisterhood. The sisterhood must all use the same port number ๐.
$cputmult <factor> ๐
This sets a factor used to adjust CPU time used by each job. It lets you adjust the time charged and the limits enforced when jobs run on a system with different CPU performance. If MoM's system is faster than the reference system, set factor to a decimal value greater than 1.0. For example:
$cputmult 1.5
If MoM's system is slower, set factor to a value between 1.0 and 0.0. For example:
$cputmult 0.75
$dce_refresh_delta <delta> ๐ฆ
Defines the number of seconds between successive refreshings of a job's DCE login context. For example:
$dce_refresh_delta 18000
$enforce <limit> ๐ฅ
MoM will enforce the given limit. Some limits have associated values. Syntax:
$enforce <variable name> <value>
$enforce memโ MoM will enforce each job's memory limit.$enforce cpuaverageโ MoM will enforcencpuswhen the average CPU usage over a job's lifetime usage is greater than the job's limit.$enforce average_trialperiod <seconds>โ Modifiescpuaverage. Minimum number of seconds of job walltime before enforcement begins. Default:120. Integer.$enforce average_percent_over <percentage>โ Modifiescpuaverage. Gives percentage by which a job may exceed itsncpuslimit. Default:50. Integer.$enforce average_cpufactor <factor>โ Modifiescpuaverage. Thencpuslimit is multiplied by factor to produce the actual limit. Default:1.025. Float.
$enforce cpuburstโ MoM will enforce thencpuslimit when CPU burst usage exceeds the job's limit.$enforce delta_percent_over <percentage>โ Modifiescpuburst. Gives percentage over limit to be allowed. Default:50. Integer.$enforce delta_cpufactor <factor>โ Modifiescpuburst. Thencpuslimit is multiplied by factor to produce the actual limit. Default:1.5. Float.$enforce delta_weightup <factor>โ Modifiescpuburst. Weighting factor for smoothing burst usage when average is increasing. Default:0.4. Float.$enforce delta_weightdown <factor>โ Modifiescpuburst. Weighting factor for smoothing burst usage when average is decreasing. Default:0.4. Float.
$ideal_load <load> ๐ธ
Defines the load below which the vnode is not considered to be busy. Used with the $max_load directive. No default. Float.
Example:
$ideal_load 1.8
Use of $ideal_load adds a static resource to the vnode called "ideal_load", which is only internally visible ๐.
$jobdir_root <stage directory root> ๐
Directory under which PBS creates job-specific staging and execution directories. PBS creates a job's staging and execution directory when the job's sandbox attribute is set to PRIVATE.
If $jobdir_root is unset, it defaults to the job owner's home directory. In this case the user's home directory must exist. If stage_directory_root does not exist when MoM starts up, MoM will abort. If stage directory root does not exist when MoM tries to run a job, MoM will kill the job ๐. Path must be owned by root, and permissions must be 1777. On Windows, this directory should have Full Control Permission for the local Administrators group.
When you set $jobdir_root to a shared (e.g. NFS) directory, tell MoM it is shared by setting the shared directive after the directory name:
$jobdir_root <directory name> shared
Otherwise sister MoMs can prematurely delete files and directories when nodes are released. This is because when a job's sandbox attribute is set to PRIVATE and $jobdir_root is set to a shared directory, PBS can use a shared location for job files. When sister nodes are released, those sister MoMs would normally clean up their own files upon release. So if $jobdir_root is set to a shared directory, you need to tell the sister MoMs not to do the cleanup, and let the primary execution host MoM clean up when the job is finished ๐ซถ.
Example of a shared directory:
$jobdir_root /r/shared shared
Example of a non-shared directory:
$jobdir_root /scratch/foo
$job_launch_delay โญ
When the primary MoM gets a job whose tolerate_node_failures attribute is set to all or job_start, the primary MoM can wait to start the job (running the job script or executable) for up to a configured number of seconds. During this time, execjob_prologue hooks can finish and the primary MoM can check for communication problems with sister MoMs. You configure the number of seconds for the primary MoM to wait for hooks via the job_launch_delay configuration parameter in MoM's config file:
$job_launch_delay <number of seconds to wait>
Default: the sum of the values of the alarm attributes of any enabled execjob_prologue hooks. If there are no enabled execjob_prologue hooks, the default value is 30 seconds. For example, if there are two enabled execjob_prologue hooks, one with alarm = 30 and one with alarm = 60, the default value of MoM's job_launch_delay is 90 seconds.
After all the execjob_prologue hooks have finished, or MoM has waited for the value of the job_launch_delay parameter, she starts the job ๐
.
$kbd_idle <idle wait> <min use> <poll interval> ๐ฆ
Declares that the vnode will be used for batch jobs during periods when the keyboard and mouse are not in use.
The vnode must be idle for a minimum of idle wait seconds before being considered available for batch jobs. No default. Integer.
The vnode must be in use for a minimum of min use seconds before it becomes unavailable for batch jobs. Default: 10. Integer.
Mom checks for activity every poll interval seconds. Default: 1. Integer.
Example:
$kbd_idle 1800 10 5
$logevent <mask> ๐
Sets the mask that determines which event types are logged by pbs_mom. To include all debug events, use 0xffffffff.
Log events:
ERRORโ hex0001โ Internal errorsSYSTEMโ hex0002โ System errorsADMINโ hex0004โ Administrative eventsJOBโ hex0008โ Job-related eventsJOB_USAGEโ hex0010โ Job accounting infoSECURITYโ hex0020โ Security violationsSCHEDโ hex0040โ Scheduler eventsDEBUGโ hex0080โ Common debug messagesDEBUG2โ hex0100โ Uncommon debug messagesRESVโ hex0200โ Reservation-related infoDEBUG3โ hex0400โ Rare debug messagesDEBUG4โ hex0800โ Limit-related messages
$max_check_poll <seconds> ๐
Maximum time between polling cycles, in seconds. Minimum recommended value: 30 seconds.
The interval between each poll starts at $min_check_poll and increases with each cycle until it reaches $max_check_poll, after which it remains the same. The amount by which the cycle increases is 1/20 of the difference between $max_check_poll and $min_check_poll.
Format: Integer Minimum value: 1 second Default value: 120 seconds
$max_load <load> [suspend] ๐ฅ
Defines the load above which the vnode is considered to be busy. Used with the $ideal_load directive. No new jobs are started on a busy vnode.
The optional suspend directive tells PBS to suspend jobs running on the vnode if the load average exceeds the $ max_load number, regardless of the source of the load (PBS and/or logged-in users). Without this directive, PBS will not suspend jobs due to load.
We recommend setting load to a value that is slightly higher than the number of CPUs, for example 0.25 + ncpus.
Default: number of CPUs on machine Format: Float Example:
$max_load 3.5
$max_poll_downtime ๐ญ
When mother superior detects that a sister mom has lost connectivity (e.g. MoM went down or the network is having problems) it waits downtime seconds for the sister to reconnect before it gives up and kills the job.
Format: Integer Default: Five minutes
memreserved <megabytes> ๐
Deprecated. Bestie, this one is old-school.
The amount of per-vnode memory reserved for system overhead. This much memory is deducted from the value of resources_available.mem for each vnode managed by this MoM.
Example:
memreserved 16
Default: 0MB
$min_check_poll <seconds> ๐ธ
Minimum time between polling cycles, in seconds. Must be greater than zero and less than $max_check_poll. Minimum recommended value: 10 seconds.
Format: Integer. Minimum value: 1 second Default value: 10 seconds
pbs_accounting_workload_mgmt <value> ๐
Controls whether CSA accounting is enabled. Name does not start with dollar sign. If set to 1, on, or true, CSA accounting is enabled. If set to 0, off, or false, accounting is disabled. Cray only. Requires CLE 5.2.
Default: "true"; enabled
$prologalarm <timeout> ๐ซถ
Defines the maximum number of seconds the prologue and epilogue may run before timing out. Default: 30 seconds. Integer. Example:
$prologalarm 30
okay so, final stretch of the MoM parameters โ sheโs still iconic, and these last ones are lowkey important. ๐
$reject_root_scripts <True | False>โ when this isTrue, MoM is on a strict no-new-root-hooks vibe: she wonโt acquire any new hook scripts, and she wonโt run job scripts that would execute as root or Admin. However (plot twist ๐ซถ), MoM will still run previously-acquired hooks that run as root.- Format: Boolean
- Default:
False
$restart_background <True | False>โ controls how MoM runs a restart script after checkpointing a job. When this isTrue, MoM forks a child that runs the restart script. The child returns when all restarts for all the local tasks of the job are done. MoM does not block on the restart. When this isFalse, MoM runs the restart script and waits for the result. ๐ญ- Format: Boolean
- Default:
False
$restart_transmogrify <True | False>โ also controls how MoM runs a restart script after checkpointing a job. When this isTrue, MoM runs the restart script and replaces the session ID of the original taskโs top process with the session ID of the script. โจ
When this is False, MoM runs the restart script and waits for the result. The restart script must restore the original session ID for all the processes of each task so that MoM can continue to track the job.
When this is False and the restart uses an external command, the configuration parameter restart_background is ignored and treated as if it were set to True, preventing MoM from blocking on the restart. ๐
- Format: Boolean
- Default:
False
$restrict_user <True | False>โ controls whether users who are not submitting jobs have access to this machine. If the value isTrue, restrictions are applied. See$restrict_user_exceptionsand$restrict_user_maxsysid. Not supported on Windows. ๐- Format: Boolean
- Default:
False
$restrict_user_exceptions <user list>โ comma-separated list of users who are exempt from the access restrictions applied by$restrict_user. Leading spaces within each entry are allowed. Maximum of 10 names. ๐$restrict_user_maxsysid <value>โ any user with a numeric user ID less than or equal to value is exempt from restrictions applied by$restrict_user. If$restrict_userisTrueand no value exists for$restrict_user_maxsysid, PBS looks in/etc/login.defs, if it exists, for the value. Otherwise the default is used.- Format: Integer
- Default:
999
$restricted <hostname>โ the hostname is added to the list of hosts which are allowed to connect to MoM without being required to use a privileged port. Hostnames can be wildcarded. For example, to allow queries from any host from the domain"xyz.com":$restricted *.xyz.com
Queries from the hosts in the restricted list are only allowed access to information internal to this host, such as load average, memory available, etc. They may not run shell commands. ๐ซ
$sister_join_job_alarmโ when the primary MoM gets a job whosetolerate_node_failuresattribute is set toallorjob_start, the primary MoM can wait to start the job for up to a configured number of seconds if the sister MoMs do not immediately acknowledge joining the job. This gives the sister MoMs more time to join the job. You configure the number of seconds for the primary MoM to wait for sister MoMs via thesister_join_job_alarmconfiguration parameter in MoMโs config file:$sister_join_job_alarm <number of seconds to wait>
Default: the sum of the values of the alarm attributes of any enabled execjob_begin hooks. If there are no enabled execjob_begin hooks, the default value is 30 seconds. For example, if there are two enabled execjob_begin hooks, one with alarm = 30 and one with alarm = 20, the default value of MoMโs sister_join_job_alarm is 50 seconds. ๐งฎ
After all the sister MoMs have joined the job, or MoM has waited for the value of the $sister_join_job_alarm parameter, she starts the job. ๐
$suspendsig <suspend signal> [resume signal]โ alternate suspend signal is used to suspend jobs instead ofSIGSTOP. Optional resume signal is used to resume jobs instead ofSIGCONT. ๐ฆ$tmpdir <directory>โ location where each jobโs scratch directory will be created. PBS creates a temporary directory for use by the job, not by PBS. PBS creates the directory before the job is run and removes the directory and its contents when the job is finished. It is scratch space for use by the job. Permission must be1777on Linux, writable by Everyone on Windows. ๐
Example: $tmpdir /memfs
- Default on Linux:
/var/tmp - Default on Windows: value of the
TMPenvironment variable
$usecp <hostname:source prefix> <destination prefix>โ MoM uses/bin/cpor the program specified byPBS_CPto deliver output files when the destination is a network mounted file system, or when the source and destination are both on the local host, or when the source prefix can be replaced with the destination prefix on hostname. Both source prefix and destination prefix are absolute pathnames of directories, not files. OverridesPBS_CPandPBS_RCPandPBS_SCP. Use trailing slashes on both source and destination. For example:$usecp HostA:/users/work/myproj/ /sharedwork/proj_results/๐พ$vnodedef_additiveโ specifies whether MoM considers a vnode that appeared previously either in the inventory or in a vnode definition file, but that does not appear now, to be in her list of vnodes. When$vnodedef_additiveisTrue, MoM treats missing vnodes as if they are still present, and continues to report them as if they are present. This means that the server does not mark missing vnodes as stale. When$vnodedef_additiveisFalse, MoM does not list missing vnodes, the serverโs information is brought up to date with the inventory and vnode definition files, and the server marks missing vnodes as stale. Visible in configuration file on Cray only. ๐- Format: Boolean
- Default for MoM on Cray login node:
False
$wallmult <factor>โ each jobโs walltime usage is multiplied by factor. For example:$wallmult 1.5โฑ๏ธ
๐งธ Static Resources ๐งธ
Static resources local to the vnode are described one resource to a line, with a name and value separated by white space. For example, tape drives of different types could be specified by:
tape3480 4
tape3420 2
tapedat 1
tape8mm 1
๐ FILES AND DIRECTORIES ๐
$PBS_HOME/mom_privโ default directory for default configuration files.$PBS_HOME/mom_priv/configโ MoMโs default configuration file.$PBS_HOME/mom_logsโ default directory for log files written by MoM.$PBS_HOME/mom_priv/prologueโ file containing administrative script to be run before job execution.$PBS_HOME/mom_priv/epilogueโ file containing administrative script to be run after job execution.
๐จ SIGNAL HANDLING ๐จ
pbs_mom handles the following signals:
SIGHUPโ thepbs_momdaemon rereads its configuration files, closes and reopens the log file, and reinitializes resource structures. ๐SIGALRMโ MoM writes a log file entry. See the-a alarm_timeoutoption.SIGINTโ thepbs_momdaemon exits, leaving all running jobs still running. See the-poption. ๐ญSIGKILLโ this signal is not caught. Thepbs_momdaemon exits immediately. ๐SIGTERM,SIGXCPU,SIGXFSZ,SIGCPULIM,SIGSHUTDNโ thepbs_momdaemon terminates all running children and exits.SIGPIPE,SIGUSR1,SIGUSR2,SIGINFOโ these are ignored. ๐- All other signals have their default behavior installed.
๐ช EXIT STATUS ๐ช
Greater than zero โ if any of these happen, MoM is not having a good time:
- If the
pbs_momdaemon fails to start - If the
-s insertoption is used with an existing Version 2 filename - If the administrator attempts to add a script whose name begins with
"PBS" - If the administrator attempts to use the
-s removeoption on a nonexistent configuration file, or on a configuration file whose name begins with"PBS" - If the administrator attempts to use the
-s showoption on a nonexistent script
๐ SEE ALSO ๐
pbs_server(8B)pbs_sched(8B)qstat(1B)
thatโs the whole pbs_mom(8B) page, bestie โ you ate. ๐
the footer energy is: source Local, date 1 March 2021, and the page is pbs_mom(8B). 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