Status displays
System status
Retired systems «

PBS - Portable Batch System

What is PBS?
PBS stands for Portable Batch System, and was written as a joint project between the Numerical Aerospace Simulation (NAS) Systems Division of NASA AMES Research Center and National Energy Research Supercomputer Center (NERSC) of Lawrence Livermore National Laboratory.

It was developed with the intent to be conformant with the POSIX 1003.2d Batch Environment Standard. As such, it will accept batch jobs, a shell script and control attributes, preserve and protect the job until it is run, run the job, and deliver output back to the submitter.

Batch Script

PBS directives are specified either as comments in the script or options to the qsub command. Here is a sample PBS script:

  # Request 8 nodes
  #PBS -l nodes=8
  # Request 8 hour 10 minutes of wall-clock time
  #PBS -l walltime=8:10:00
  # Request that regular output (stdout) and 
  # terminal output (stderr) go to the same file
  #PBS -j oe
  # Send mail when the job aborts or terminate
  #PBS -m ae
  # Mail address
  #PBS -M user@some.where

  #Goto the directory from which you submitted the job

  mpirun -np 8 ./foo

By using the nqs2pbs conversion script, it is possible to convert an NQE script to PBS script.

When the job starts, the environment variable $PBS_NODEFILE contains the name of a file in which the allocated nodes are listed.


Limits that are enforced by PBS on Monolith:

nodes The number of nodes requested. Units: unitary.
walltime Maximum amount of real time during which the job can be in the running state. Units: time.

For more information see pbs_resources(7B).

To see the current limits of a queue complex, use qstat -Qf. Node: the nodes limit is checked against nodect (node count).

User Commands
Frequently used PBS User Commands:
  • qstat Shows status of PBS batch jobs. 'qstat -a' is a good compromise between amount of information and overview.
  • qsub Submits a job to the PBS queuing system.
  • qdel Delete a PBS job from the queue.
Less Frequently used PBS User Commands:
  • qalter Modifies the attributes of a job.
  • qhold Requests that the PBS server place a hold on a job.
  • qmove Remove a job from the queue in which it resides and instantiate the job in another queue.
  • qmsg  Send message to PBS batch job. To send a message to a job is to write a message string into one or more output files of the job.
  • qorder Exchange the order of two PBS batch jobs in a queue.
  • qrerun Reruns a PBS batch job.
  • qrls Release hold on PBS batch job.
  • qselect List the job identifier of those jobs which meet a list of selection criteria.
  • qsig Requests that a signal be send to the session leader of a batch job.
For more information, please see the corresponding man-page on Monolith
User Commands
  • qstat
  • qsub
  • qdel
  • qalter
  • qhold
  • qmove
  • qmsg
  • qorder
  • qrerun
  • qrls
  • qrls
  • qselect
  • qsig
  • Links
    PBS Home

    Niclas Andersson

    Page last modified: 2003-02-22 11:18
    For more information contact us at