.TH SACCT "1" "March 2010" "sacct 2.2" "Slurm components"

.SH "NAME"
sacct \- displays accounting data for all jobs and job steps in the
SLURM job accounting log or SLURM database

.SH "SYNOPSIS"
\fBsacct\fR [\fIOPTIONS\fR...]

.SH "DESCRIPTION"
.PP
Accounting information for jobs invoked with SLURM are either logged
in the job accounting log file or saved to the SLURM database.
.PP
The \f3sacct\fP command displays job accounting data stored in the job
accounting log file or SLURM database in a variety of forms for your
analysis.  The \f3sacct\fP command displays information on jobs, job
steps, status, and exitcodes by default.  You can tailor the output
with the use of the \f3\-\-format=\fP option to specify the fields to
be shown.
.PP
For the root user, the \f3sacct\fP command displays job accounting
data for all users, although there are options to filter the output to
report only the jobs from a specified user or group.
.PP
For the non\-root user, the \f3sacct\fP command limits the display of
job accounting data to jobs that were launched with their own user
identifier (UID) by default.  Data for other users can be displayed
with the \f3\-\-all\fP, \f3\-\-user\fP, or \f3\-\-uid\fP options.
.TP "7"
\f3Note: \fP\c
If the AccountingStorageType is set to "accounting_storage/filetxt",
space characters embedded within account names, job names, and step names
will be replaced by underscores. If account names with embedded spaces are
needed, it is recommended that a database type of accounting storage be
configured.
.TP
\f3Note: \fP\c
The content's of SLURM's database are maintained in lower case. This may
result in some \f3sacct\fP output differing from that of other SLURM commands.
.TP
\f3Note: \fP\c
Much of the data reported by \f3sacct\fP has been generated by
the \f2wait3()\fP and \f2getrusage()\fP system calls. Some systems
gather and report incomplete information for these calls;
\f3sacct\fP reports values of 0 for this missing data. See your systems
\f2getrusage(3)\fP man page for information about which data are
actually available on your system.
.IP
If \-\-dump is specified, the field selection options (\-\-brief,
\-\-format, ...) have no effect.
.IP
Elapsed time fields are presented as 2 fields, integral seconds and integral microseconds
.IP
If \-\-dump is not specified, elapsed time fields are presented as
[[days-]hours:]minutes:seconds.hundredths.
.IP
The default input file is the file named in the
\f3AccountingStorageLoc\fP parameter in slurm.conf.

.SH "OPTIONS"

.TP "10"
\f3\-a\fP\f3,\fP \f3\-\-allusers\fP
Displays the current user's jobs. Displays all users jobs when run by root.
.IP

.TP
\f3\-A \fP\f2account_list\fP \fP\f3,\fP \f3\-\-accounts\fP\f3=\fP\f2account_list\fP
Displays jobs when a comma separated list of accounts are given as the
argument.
.IP

.TP
\f3\-b\fP\f3,\fP \f3\-\-brief\fP
Displays a brief listing, which includes the following data:
.RS
.TP "3"
\f3jobid\fP
.TP "3"
\f3status\fP
.TP "3"
\f3exitcode\fP
.RE
.IP
This option has no effect when the
\f3\-\-\-dump\fP
option is also specified.

.TP
\f3\-c\fP\f3,\fP \f3\-\-completion\fP
Use job completion instead of job accounting.  The \f3JobCompType\fP
parameter in the slurm.conf file must be defined to a non-none option.
.IP


.TP
\f3\-d\fP\f3,\fP \f3\-\-dump\fP
Dumps the raw data records.
.IP

The section titled "INTERPRETING THE \-\-dump OPTION OUTPUT" describes the
data output when this option is used.

.TP
\f3\-\-duplicates\fP
If SLURM job ids are reset, some job numbers will probably appear more
than once in the accounting log file but refer to different jobs.
Such jobs can be distinguished by the "submit" time stamp in the data
records.

.IP
When data for specific jobs are requested with the \-\-jobs option,
\f3sacct\fP returns the most recent job with that number. This
behavior can be overridden by specifying \-\-duplicates, in which case
all records that match the selection criteria will be returned.

.TP
\f3\-e\fP\f3,\fP \f3\-\-helpformat\fP
.IP
Print a list of fields that can be specified with the \f3\-\-format\fP option.
.IP
.RS
.PP
.nf
.ft 3
Fields available:

AllocCPUS      Account       AssocID       AveCPU
AvePages       AveRSS        AveVMSize     BlockID
Cluster        CPUTime       CPUTimeRAW    DerivedExitCode
DerivedExitStr Elapsed       Eligible      End
ExitCode       GID           Group         JobID
JobName        Layout        MaxPages      MaxPagesNode
MaxPagesTask   MaxRSS        MaxRSSNode    MaxRSSTask
MaxVMSize      MaxVMSizeNode MaxVMSizeTask MinCPU
MinCPUNode     MinCPUTask    NCPUS         NNodes
NodeList       NTasks        Priority      Partition
QOS            QOSRAW        ReqCPUS       Reserved
ResvCPU        ResvCPURAW    Start         State
Submit         Suspended     SystemCPU     Timelimit
TotalCPU       UID           User          UserCPU
WCKey          WCKeyID

.ft 1
.fi
.RE
.IP
The section titled "Job Accounting Fields" describes these fields.

.TP
\f3\-E \fP\f2end_time\fP\fP\f3,\fP \f3\-\-endtime\fP\f3=\fP\f2end_time\fP
.IP
Select jobs eligible before time.  If states are given with the \-s
option return jobs in this state before this period.

Valid time formats are...
.sp
HH:MM[:SS] [AM|PM]
.br
MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
.br
MM/DD[/YY]\-HH:MM[:SS]
.br
YYYY\-MM\-DD[THH:MM[:SS]]
.IP

.TP
\f3\-f \fP\f2file\fP\f3,\fP  \f3\-\-file\fP\f3=\fP\f2file\fP
Causes the \f3sacct\fP command to read job accounting data from the
named \f2file\fP instead of the current SLURM job accounting log
file. Only applicable when running the filetxt plugin.

.TP
\f3\-g \fP\f2gid_list\fP\f3, \-\-gid=\fP\f2gid_list\fP \f3\-\-group=\fP\f2group_list\fP
Displays the statistics only for the jobs started with the GID
or the GROUP specified by the \f2gid_list\fP or the\f2group_list\fP operand, which is a comma\-separated
list.  Space characters are not allowed.
Default is no restrictions.\&.

.TP
\f3\-h\fP\f3,\fP \f3\-\-help\fP
Displays a general help message.

.TP
\f3\-j \fP\f2job(.step)\fP \f3,\fP  \f3\-\-jobs\fP\f3=\fP\f2job(.step)\fP
Displays information about the specified job(.step) or list of job(.step)s.
.IP
The
\f2job(.step)\fP
parameter is a comma\-separated list of jobs.
Space characters are not permitted in this list.
NOTE: A step id of 'batch' will display the information about the
batch step.  The batch step information is only available after the
batch job is complete unlike regular steps which are available when
they start.
.IP
The default is to display information on all jobs.

.TP
\f3\-k\fP\f3,\fP \f3\-\-timelimit-min\fP
Only send data about jobs with this timelimit.  If used with
timelimit_max this will be the minimum timelimit of the range.
Default is no restriction.

.TP
\f3\-K\fP\f3,\fP \f3\-\-timelimit-max\fP
Ignored by itself, but if timelimit_min is set this will be the
maximum timelimit of the range.  Default is no restriction.

.TP
\f3\-l\fP\f3,\fP \f3\-\-long\fP
Equivalent to specifying:
.IP
.na
\-\-format=jobid,jobname,partition,maxvmsize,maxvmsizenode,maxvmsizetask,avevmsize,maxrss,maxrssnode,maxrsstask,averss,maxpages,maxpagesnode,maxpagestask,avepages,mincpu,mincpunode,mincputask,avecpu,ntasks,alloccpus,elapsed,state,exitcode
.ad

.TP
\f3\-L\fP\f3,\fP \f3\-\-allclusters\fP
Display jobs ran on all clusters. By default, only jobs ran on the
cluster from where \f3sacct\fP is called are displayed.

.TP
\f3\-M \fP\f2cluster_list\fP\f3, \-\-clusters=\fP\f2cluster_list\fP
Displays the statistics only for the jobs started on the clusters
specified by the \f2cluster_list\fP operand, which is a
comma\-separated list of clusters.  Space characters are not allowed
in the \f2cluster_list\fP. Use \-1 for all clusters.  The default is
current cluster you are executing the \f3sacct\fP command on\&.

.TP
\f3\-n\fP\f3,\fP \f3\-\-noheader\fP
No heading will be added to the output. The default action is to
display a header.
.IP
This option has no effect when used with the
\f3\-\-dump\fP
option.

.TP
\f3\-N \fP\f2node_list\fP\f3, \-\-nodelist=\fP\f2node_list\fP
Display jobs that ran on any of these node(s).  \f2node_list\fP can be
a ranged string.
.IP

.TP
\f3\-o\fP\f3,\fP \f3\-\-format\fP
Comma separated list of fields. (use "\-\-helpformat" for a list of
available fields).

NOTE: When using the format option for listing various fields you can put a
%NUMBER afterwards to specify how many characters should be printed.

e.g. format=name%30 will print 30 characters of field name right
justified.  A %\-30 will print 30 characters left justified.
.IP

.TP
\f3\-O\fP\f3,\fP \f3\-\-formatted_dump\fP
Dumps accounting records in an easy\-to\-read format.
.IP
This option is provided for debugging.

.TP
\f3\-p\fP\f3,\fP \f3\-\-parsable\fP
output will be '|' delimited with a '|' at the end

.TP
\f3\-P\fP\f3,\fP \f3\-\-parsable2\fP
output will be '|' delimited without a '|' at the end

.TP
\f3\-q\fP\f3,\fP \f3\-\-qos\fP
Only send data about jobs using these qos.  Default is all.

.TP
\f3\-r\fP\f3,\fP \f3\-\-partition\fP

Comma separated list of partitions to select jobs and job steps
from. The default is all partitions.

.TP
\f3\-s \fP\f2state_list\fP \f3, \-\-state\fP\f3=\fP\f2state_list\fP
Selects jobs based on their state during the time period given.
Unless otherwise specified, the start and end time will be the
current time when the \f3\-\-state\fP option is specified and
only currently running jobs can be displayed.
A start and/or end time must be specified to view information about
jobs not currently running.
The following state designators are valid and multiple state names
may be specified using comma separators. Either the short or long form of
the state name may be used (e.g. \f3CA\fP or \f3CANCELLED\fP) and the
the the name is case insensitive (e.g. \f3ca\fP and \f3CA\fP both work).
.RS
.TP "20"
\f3CA  CANCELLED\fP
Job was explicitly cancelled by the user or system administrator.
The job may or may not have been initiated.
.TP
\f3CD  COMPLETED\fP
Job has terminated all processes on all nodes.
.TP
\f3CF  CONFIGURING\fP
Job has been allocated resources, but are waiting for them to become ready for use
(e.g. booting).
.TP
\f3CG  COMPLETING\fP
Job is in the process of completing. Some processes on some nodes may still be active.
.TP
\f3F   FAILED\fP
Job terminated with non\-zero exit code or other failure condition.
.TP
\f3NF  NODE_FAIL\fP
Job terminated due to failure of one or more allocated nodes.
.TP
\f3PD  PENDING\fP
Job is awaiting resource allocation.
.TP
\f3R   RUNNING\fP
Job currently has an allocation.
.TP
\f3RS  RESIZING\fP
Job is about to change size.
.TP
\f3S   SUSPENDED\fP
Job has an allocation, but execution has been suspended.
.TP
\f3TO  TIMEOUT\fP
Job terminated upon reaching its time limit.
.RE
.IP
The \f2state_list\fP operand is a comma\-separated list of these state
designators.  Space characters are not allowed in the
\f2state_list\fP\c

NOTE: When specifying states and no start time is given the default
starttime is 'now'.
\&.

.TP
\f3\-S\fP\f3,\fP \f3\-\-starttime\fP
Select jobs eligible after the specified time. Default is midnight of
current day.  If states are given with the \-s option then return jobs
in this state at this time, 'now' is also used as the default time.

Valid time formats are...
.sp
HH:MM[:SS] [AM|PM]
.br
MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
.br
MM/DD[/YY]\-HH:MM[:SS]
.br
YYYY\-MM\-DD[THH:MM[:SS]]

.TP
\f3\-T\fP\f3,\fP \f3\-\-truncate\fP
Truncate time.  So if a job started before \-\-starttime the start time
would be truncated to \-\-starttime.  The same for end time and \-\-endtime.

.TP
\f3\-u \fP\f2uid_list\fP\f3, \-\-uid=\fP\f2uid_list\fP\f3, \-\-user=\fP\f2user_list\fP
Use this comma separated list of uids or user names to select jobs to
display.  By default, the running user's uid is used.

.TP
\f3\-\-usage\fP
Display a command usage summary.

.TP
\f3\-v\fP\f3,\fP \f3\-\-verbose\fP
Primarily for debugging purposes, report the state of various
variables during processing.

.TP
\f3\-V\fP\f3,\fP \f3\-\-version\fP
Print version.

.TP
\f3\-W \fP\f2wckey_list\fP\f3, \-\-wckeys=\fP\f2wckey_list\fP
Displays the statistics only for the jobs started on the wckeys
specified by the \f2wckey_list\fP operand, which is a comma\-separated
list of wckey names.  Space characters are not allowed in the
\f2wckey_list\fP. Default is all wckeys\&.

.TP
\f3\-x \fP\f2associd_list\fP\f3, -\-associations=\fP\f2assoc_list\fP
Displays the statistics only for the jobs running under the
association ids specified by the \f2assoc_list\fP operand, which is a
comma\-separated list of association ids.  Space characters are not
allowed in the \f2assoc_list\fP. Default is all associations\&.

.TP
\f3\-X\fP\f3,\fP \f3\-\-allocations\fP
Only show cumulative statistics for each job, not the intermediate steps.

.SS "Job Accounting Fields"
The following describes each job accounting field:
.RS
.TP "10"
\f3alloccpus\fP
Count of allocated processors.

.TP
\f3account\fP
Account the job ran under.

.TP
\f3associd\fP
Reference to the association of user, account and cluster.

.TP
\f3AveCPU\fP
Average (system + user) CPU time of all tasks in job.

.TP
\f3AvePages\fP
Average number of page faults of all tasks in job.

.TP
\f3AveRSS\fP
Average resident set size of all tasks in job.

.TP
\f3AveVMSize\fP
Average Virtual Memory size of all tasks in job.

.TP
\f3blockid\fP
Block ID, applicable to BlueGene computers only.

.TP
\f3cluster\fP
Cluster name.

.TP
\f3cputime\fP
Formatted number of cpu seconds a process was allocated.

.TP
\f3cputimeraw\fP
How much cpu time process was allocated in second format, not formatted
like above.

.TP
\f3DerivedExitCode\fP
The highest exit code returned by the job's job steps (srun
invocations).  Following the colon is the signal that caused the
process to terminate if it was terminated by a signal.  The
DerivedExitCode can be modified by invoking \f3sacctmgr modify job\fP
or the specialized \f3sjobexitmod\fP command.

.TP
\f3DerivedExitStr\fP
The reason the job failed.  This string starts off as null.  The
DerivedExitStr can be modified by invoking \f3sacctmgr modify job\fP
or the specialized \f3sjobexitmod\fP command.

.TP
\f3elapsed\fP
The jobs elapsed time.
.IP
The format of this fields output is as follows:
.RS
.PD "0"
.HP
\f2[DD\-[hh:]]mm:ss\fP
.PD
.RE
.IP
as defined by the following:
.RS
.TP "10"
\f2DD\fP
days
.TP
\f2hh\fP
hours
.TP
\f2mm\fP
minutes
.TP
\f2ss\fP
seconds
.RE

.TP
\f3eligible\fP
When the job became eligible to run.

.TP
\f3end\fP
Termination time of the job. Format output is as follows:
.RS
.PD "0"
.HP
\f2MM/DD\-hh:mm:ss\fP
.PD
.RE
.IP
as defined by the following:
.RS
.TP "10"
\f2MM\fP
month
.TP
\f2DD\fP
day
.TP
\f2hh\fP
hours
.TP
\f2mm\fP
minutes
.TP
\f2ss\fP
seconds
.RE

.TP
\f3exitcode\fP
The exit code returned by the job script or salloc, typically as set
by the exit() function.  Following the colon is the signal that caused
the process to terminate if it was terminated by a signal.

.TP
\f3gid\fP
The group identifier of the user who ran the job.

.TP
\f3group\fP
The group name of the user who ran the job.

.TP
\f3JobID\fP
The number of the job or job step.
It is in the form:
\f2job.jobstep\fP\c
\&.

.TP
\f3jobname\fP
The name of the job or job step. The \f3slurm_accounting.log\fP file
is a space delimited file. Because of this if a space is used in the 
jobname an underscore is substituted for the space before the record 
is written to the accounting file. So when the jobname is displayed 
by \f3sacct\fP the jobname that had a space in it will now have an underscore 
in place of the space.

.TP
\f3layout\fP
What the layout of a step was when it was running.  This can be used
to give you an idea of which node ran which rank in your job.

.TP
\f3MaxPages\fP
Maximum number of page faults of all tasks in job.

.TP
\f3MaxPagesNode\fP
The node on which the maxpages occurred.

.TP
\f3MaxPagesTask\fP
The task ID where the maxpages occurred.

.TP
\f3MaxRSS\fP
Maximum resident set size of all tasks in job.

.TP
\f3MaxRSSNode\fP
The node on which the maxrss occurred.

.TP
\f3MaxRSSTask\fP
The task ID where the maxrss occurred.

.TP
\f3MaxVMSize\fP
Maximum Virtual Memory size of all tasks in job.

.TP
\f3MaxVMSizeNode\fP
The node on which the maxvmsize occurred.

.TP
\f3MaxVMSizeTask\fP
The task ID where the maxvmsize occurred.

.TP
\f3MinCPU\fP
Minimum (system + user) CPU time of all tasks in job.

.TP
\f3MinCPUNode\fP
The node on which the mincpu occurred.

.TP
\f3MinCPUTask\fP
The task ID where the mincpu occurred.

.TP
\f3ncpus\fP
Total number of CPUs allocated to the job.

.TP
\f3nodelist\fP
List of nodes in job/step.

.TP
\f3nnodes\fP
Number of nodes in a job or step.

.TP
\f3NTasks\fP
Total number of tasks in a job or step.

.TP
\f3priority\fP
Slurm priority.

.TP
\f3partition\fP
Identifies the partition on which the job ran.

.TP
\f3qos\fP
Name of Quality of Service.

.TP
\f3qosraw\fP
Id of Quality of Service.

.TP
\f3reqcpus\fP
Required CPUs.

.TP
\f3reserved\fP
How much wall clock time was used as reserved time for this job.  This is
derived from how long a job was waiting from eligible time to when it
actually started.

.TP
\f3resvcpu\fP
Formatted time for how long (cpu secs) a job was reserved for.

.TP
\f3resvcpuraw\fP
Reserved CPUs in second format, not formatted.

.TP
\f3start\fP
Initiation time of the job in the same format as \f3end\fP.

.TP
\f3state\fP
Displays the job status, or state.

Output can be RUNNING, RESIZING, SUSPENDED, COMPLETED, CANCELLED, FAILED,
TIMEOUT, or NODE_FAIL. If multiple job states are found for a single
job (e.g. the job was requeued after a NODE_FAIL and then COMPLETED)
then the last job state will be displayed followed by a "+".

.TP
\f3submit\fP
The  time and date stamp (in Universal Time Coordinated, UTC) the job
was submitted.  The format of the output is identical to that of the end field.

.TP
\f3suspended\fP
How long the job was suspended for.

.TP
\f3SystemCPU\fP
The amount of system CPU time used by the job or job step.  The format
of the output is identical to that of the \f3elapsed\fP field.

NOTE: SystemCPU provides a measure of the task's parent process and
does not include CPU time of child processes.

.TP
\f3timelimit\fP
What the timelimit was/is for the job.

.TP
\f3TotalCPU\fP
The sum of the SystemCPU and UserCPU time used by the job or job step.
The total CPU time of the job may exceed the job's elapsed time for
jobs that include multiple job steps.  The format of the output is
identical to that of the \f3elapsed\fP field.

NOTE: TotalCPU provides a measure of the task's parent process and
does not include CPU time of child processes.

.TP
\f3uid\fP
The user identifier of the user who ran the job.

.TP
\f3user\fP
The user name of the user who ran the job.

.TP
\f3UserCPU\fP
The amount of user CPU time used by the job or job step.  The format
of the output is identical to that of the \f3elapsed\fP field.

NOTE: UserCPU provides a measure of the task's parent process and does
not include CPU time of child processes.

.TP
\f3wckey\fP
Workload  Characterization  Key.   Arbitrary  string for grouping orthogonal accounts together.

.TP
\f3wckeyid\fP
Reference to the wckey.

.RE
.SH "INTERPRETING THE \-DUMP OPTION OUTPUT"
The \f3sacct\fP command's \f3\-\-dump\fP option displays data in a
horizontal list of fields depending on the record type.  There are
three record types:
\f3JOB_START\fP\c
\&,
\f3JOB_STEP\fP\c
\&, and
\f3JOB_TERMINATED\fP\c
\&.
There is a subsection that describes the output for each record type.
.PP
When the data output is a job accounting field, as described in the
section titled "Job Accounting Fields", only the name of the job
accounting field is listed.
Otherwise, additional information is provided.
.TP "10"
\f3Note: \fP\c
The output for the
\f3JOB_STEP\fP
and
\f3JOB_TERMINATED\fP
record types present a pair of fields for the following data:
Total CPU time, Total User CPU time, and Total System CPU time.
The first field of each pair is the time in seconds expressed as an
integer.
The second field of each pair is the fractional number of seconds
multiplied by one million.
Thus, a pair of fields output as "\c
\f31 024315\fP\c
" means that the time is 1.024315 seconds.
The least significant digits in the second field are truncated in
formatted displays.
.SS "Output for the JOB_START Record Type"
The following describes the horizontal fields output by the \f3sacct
\-\-dump\fP option for the \f3JOB_START\fP record type.
.RS
.TP "10"
Field #
Field
.TP
1
\f3job\fP
.TP
2
\f3partition\fP
.TP
3
\f3submitted\fP
.TP
4
The jobs start time;
this value is the number of non\-leap seconds since the Epoch (00:00:00
UTC, January 1, 1970)
.TP
5
\f3uid.gid\fP
.TP
6
(Reserved)
.TP
7
\f3JOB_START\fP (literal string)
.TP
8
Job Record Version (1)
.TP
9
The number of fields in the record (16)
.TP
10
\f3uid\fP
.TP
11
\f3gid\fP
.TP
12
The job name
.TP
13
Batch Flag (0=no batch)
.TP
14
Relative SLURM priority
.TP
15
\f3ncpus\fP
.TP
16
\f3nodes\fP
.RE
.SS "Output for the JOB_STEP Record Type"
The following describes the horizontal fields output by the \f3sacct
\-\-dump\fP option for the \f3JOB_STEP\fP record type.
.RS
.TP "10"
Field #
Field
.TP
1
\f3job\fP
.TP
2
\f3partition\fP
.TP
3
\f3submitted\fP
.TP
4
The jobs start time;
this value is the number of non\-leap seconds since the Epoch (00:00:00
UTC, January 1, 1970)
.TP
5
\f3uid.gid\fP
.TP
6
(Reserved)
.TP
7
\f3JOB_STEP\fP (literal string)
.TP
8
Job Record Version (1)
.TP
9
The number of fields in the record (38)
.TP
10
\f3jobid\fP
.TP
11
\f3end\fP
.TP
12
Completion Status;
the mnemonics, which may appear in uppercase or lowercase, are as follows:
.RS
.TP "10"
\f3CA\fP
Cancelled
.TP "10"
\f3CD\fP
Completed successfully
.TP
\f3F\fP
Failed
.TP
\f3NF\fP
Job terminated from node failure
.TP
\f3R\fP
Running
.TP
\f3S\fP
Suspended
.TP
\f3TO\fP
Timed out
.RE
.TP
13
\f3exitcode\fP
.TP
14
\f3ntasks\fP
.TP
15
\f3ncpus\fP
.TP
16
\f3elapsed\fP
time in seconds expressed as an integer
.TP
17
Integer portion of the Total CPU time in seconds for all processes
.TP
18
Fractional portion of the Total CPU time for all processes expressed in microseconds
.TP
19
Integer portion of the Total User CPU time in seconds for all processes
.TP
20
Fractional portion of the Total User CPU time for all processes
expressed in microseconds
.TP
21
Integer portion of the Total System CPU time in seconds for all processes
.TP
22
Fractional portion of the Total System CPU time for all processes
expressed in microseconds
.TP
23
\f3rss\fP
.TP
24
\f3ixrss\fP
.TP
25
\f3idrss\fP
.TP
26
\f3isrss\fP
.TP
27
\f3minflt\fP
.TP
28
\f3majflt\fP
.TP
29
\f3nswap\fP
.TP
30
\f3inblocks\fP
.TP
31
\f3outblocks\fP
.TP
32
\f3msgsnd\fP
.TP
33
\f3msgrcv\fP
.TP
34
\f3nsignals\fP
.TP
35
\f3nvcsw\fP
.TP
36
\f3nivcsw\fP
.TP
37
\f3vsize\fP
.TP
.RE
.SS "Output for the JOB_TERMINATED Record Type"
The following describes the horizontal fields output by the \f3sacct
\-\-dump\fP option for the \f3JOB_TERMINATED\fP (literal string)
record type.
.RS
.TP "10"
Field #
Field
.TP
1
\f3job\fP
.TP
2
\f3partition\fP
.TP
3
\f3submitted\fP
.TP
4
The jobs start time;
this value is the number of non\-leap seconds since the Epoch (00:00:00
UTC, January 1, 1970)
.TP
5
\f3uid.gid\fP
.TP
6
(Reserved)
.TP
7
\f3JOB_TERMINATED\fP (literal string)
.TP
8
Job Record Version (1)
.TP
9
The number of fields in the record (38)
.IP
Although thirty\-eight fields are displayed by the \f3sacct\fP command
for the \f3JOB_TERMINATED\fP record, only fields 1 through 12 are
recorded in the actual data file.  The \f3sacct\fP command aggregates
the remainder.
.TP
10
The total elapsed time in seconds for the job.
.TP
11
\f3end\fP
.TP
12
Completion Status;
the mnemonics, which may appear in uppercase or lowercase, are as follows:
.RS
.TP "10"
\f3CA\fP
Cancelled
.TP
\f3CD\fP
Completed successfully
.TP
\f3F\fP
Failed
.TP
\f3NF\fP
Job terminated from node failure
.TP
\f3R\fP
Running
.TP
\f3TO\fP
Timed out
.RE
.TP
13
\f3exitcode\fP
.TP
14
\f3ntasks\fP
.TP
15
\f3ncpus\fP
.TP
16
\f3elapsed\fP
time in seconds expressed as an integer
.TP
17
Integer portion of the Total CPU time in seconds for all processes
.TP
18
Fractional portion of the Total CPU time for all processes expressed in microseconds
.TP
19
Integer portion of the Total User CPU time in seconds for all processes
.TP
20
Fractional portion of the Total User CPU time for all processes
expressed in microseconds
.TP
21
Integer portion of the Total System CPU time in seconds for all processes
.TP
22
Fractional portion of the Total System CPU time for all processes
expressed in microseconds
.TP
23
\f3rss\fP
.TP
24
\f3ixrss\fP
.TP
25
\f3idrss\fP
.TP
26
\f3isrss\fP
.TP
27
\f3minflt\fP
.TP
28
\f3majflt\fP
.TP
29
\f3nswap\fP
.TP
30
\f3inblocks\fP
.TP
31
\f3outblocks\fP
.TP
32
\f3msgsnd\fP
.TP
33
\f3msgrcv\fP
.TP
34
\f3nsignals\fP
.TP
35
\f3nvcsw\fP
.TP
36
\f3nivcsw\fP
.TP
37
\f3vsize\fP
.RE

.SH "EXAMPLES"
This example illustrates the default invocation of the \f3sacct\fP
command:
.RS
.PP
.nf
.ft 3
# sacct
Jobid      Jobname    Partition    Account AllocCPUS State     ExitCode
\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-
2          script01   srun       acct1               1 RUNNING           0
3          script02   srun       acct1               1 RUNNING           0
4          endscript  srun       acct1               1 RUNNING           0
4.0                   srun       acct1               1 COMPLETED         0

.ft 1
.fi
.RE
.PP
This example shows the same job accounting information with the
\f3brief\fP option.
.RS
.PP
.nf
.ft 3
# sacct \-\-brief
     Jobid     State  ExitCode
\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-
2          RUNNING           0
3          RUNNING           0
4          RUNNING           0
4.0        COMPLETED         0
.ft 1
.fi
.RE
.PP
.RS
.PP
.nf
.ft 3
# sacct \-\-allocations
Jobid      Jobname    Partition Account    AllocCPUS  State     ExitCode
\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-
3          sja_init   andy       acct1            1 COMPLETED         0
4          sjaload    andy       acct1            2 COMPLETED         0
5          sja_scr1   andy       acct1            1 COMPLETED         0
6          sja_scr2   andy       acct1           18 COMPLETED         2
7          sja_scr3   andy       acct1           18 COMPLETED         0
8          sja_scr5   andy       acct1            2 COMPLETED         0
9          sja_scr7   andy       acct1           90 COMPLETED         1
10         endscript  andy       acct1          186 COMPLETED         0

.ft 1
.fi
.RE
.PP
This example demonstrates the ability to customize the output of the
\f3sacct\fP command.  The fields are displayed in the order designated
on the command line.
.RS
.PP
.nf
.ft 3
# sacct \-\-format=jobid,elapsed,ncpus,ntasks,state
     Jobid    Elapsed      Ncpus   Ntasks     State
\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-
3            00:01:30          2        1 COMPLETED
3.0          00:01:30          2        1 COMPLETED
4            00:00:00          2        2 COMPLETED
4.0          00:00:01          2        2 COMPLETED
5            00:01:23          2        1 COMPLETED
5.0          00:01:31          2        1 COMPLETED

.ft 1
.fi
.RE
.SH "COPYING"

Copyright (C) 2005\-2007 Copyright Hewlett\-Packard Development Company L.P.
.LP
Copyright (C) 2008\-2009 Lawrence Livermore National Security. Produced at Lawrence Livermore National Laboratory (cf,
DISCLAIMER). CODE\-OCEC\-09\-009. All rights reserved.
.LP
This file is part of SLURM, a resource management program.
For details, see <https://computing.llnl.gov/linux/slurm/>.
.LP
SLURM is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
.LP
SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
details.
.SH "FILES"
.TP "10"
\f3/etc/slurm.conf\fP
Entries to this file enable job accounting and
designate the job accounting log file that collects system job accounting.
.TP
\f3/var/log/slurm_accounting.log\fP
The default job accounting log file.
By default, this file is set to read and write permission for root only.
.SH "SEE ALSO"
sstat(1), ps(1), srun(1), squeue(1), getrusage(2), time(2)
