|ACCOUNTING(5)||Grid Engine File Formats||ACCOUNTING(5)|
accounting - Grid Engine accounting file format
An accounting record is written to the Grid Engine accounting file $SGE_ROOT/$SGE_CELL/common/reporting for each finished job if accounting=true is specified in the sge_conf(5) reporting_params. This occurs at intervals of the accounting_flush_time specified in the same place. The accounting file is processed by qacct(1) to derive accounting statistics.
If output to the reporting(5) file is enabled, accounting records containing similar data are written there. They include "intermediate" records written at midnight for long-running jobs, not just ones written at the end of the jobs, and so may be more appropriate to process for some purposes than the accounting file.
Each job is represented by a line in the accounting file. Empty lines, and lines which contain one character or less are ignored by qacct. Accounting record entries are separated by colon (':') characters. The entries denote in their order of appearance:
Name of the cluster queue in which the job has run.
Name of the execution host.
The effective group id of the job owner when executing the job.
Owner of the Grid Engine job.
Job identifier (job number).
Priority value assigned to the job, corresponding to the priority parameter in the queue configuration (see queue_conf(5)).
Submission time in seconds since the Unix epoch (1970-01-01 00:00:00 UTC).
Start time in seconds since the epoch.
End time in seconds since the epoch.
Indicates the problem which occurred in case a job failed (at the system level, as opposed to the job script or binary having non-zero exit status, see below). Possibly the job could not be started on the execution host (e.g. because the owner of the job did not have a valid account on that machine), or didn't finish successfully (e.g. because an execution host crashed). If Grid Engine tries to start a job multiple times, there may be multiple entries in the reporting file corresponding to the same job ID. See sge_status(5) for a list.
Exit status of the job script (or Grid Engine-specific status in case of certain error conditions). The exit status is determined by following the normal shell conventions. If the command terminates normally the value of the command is its exit status. However, in the case that the command exits abnormally, a value of 0200 (octal), 128 (decimal) is added to the value of the command to make up the exit status.
For example: If a job dies through signal 9 (SIGKILL) - probably issued by Grid Engine through qdel(1), or because the job exceeded time or memory hard limits - then the exit status is 128 + 9 = 137. The reason Grid Engine killed a job is recorded in the execd messages file at "W" or "I" level, depending on why it was killed.
Difference between end_time and start_time (see above), except that if the job fails, it is zero.
These entries follow the contents of the standard Unix rusage structure as described in getrusage(2). Depending on the operating system where the job was executed, some of the fields may be 0.
The project which was assigned to the job.
The department which was assigned to the job.
The parallel environment which was selected for the job.
The number of slots which were dispatched to the job by the scheduler.
Array job task index number.
The CPU time usage in seconds. The value may be affected by the ACCT_RESERVED_USAGE execd parameter (see sge_conf(5)).
The integral memory usage in Gbytes seconds. The value may be affected by the ACCT_RESERVED_USAGE execd parameter (see sge_conf(5)).
The amount of data transferred in input/output operations in GB (if available, otherwise 0). On Linux, this is summed over calls to read(2), pread(2), write(2), and pwrite(2); thus it includes i/o via cache, and may not reflect data actually written to filing system.
A string specifying the job category. This contains a space-separated pseudo options list for the job, with components as follows:
- -U user_list
- An owner/group ACL list composed from host_conf(5), sge_pe(5), And queue_conf(5) user_lists/xuser_lists entries. Entries from sge_conf(5) are not considered since they can only cause a job to be accepted/rejected at submit time. Omitted if there are no such configuration entries.
- -P project_list
- Like -U, but for project/xproject entries.
- -u owner
- The owner's user name, if it was referenced in any RQS (see sge_resource_quota(5)). Omitted if there was no such reference.
- -q queue_list
- The hard queue list (only if one was specified).
- -masterq queue_list
- The master queue list (only if one was specified).
- -l resource_list
- The hard resource list (only if hard resources were specified).
- -soft -l resource_list
- The soft resource list (only if soft resources were specified).
- -pe pe_name pe_range
- The parallel environment specified for the job (only for parallel jobs).
- -ckpt ckpt_name
- The job's checkpointing environment (only if one was specified).
- -I y
- Present only for interactive jobs.
- -ar ar_id
- The advance reservation into which the job was submitted (only if one was specified).
The input/output wait time in seconds (if available, otherwise 0).
If this identifier is not equal to NONE, the task was part of a parallel job, and was passed to Grid Engine via the qrsh -inherit interface. Such records are not produced if the PE's accounting_summary parameter is false (see sge_pe(5)).
The maximum vmem size in bytes. The value may be affected by the ACCT_RESERVED_USAGE execd parameter (see sge_conf(5)).
Advance reservation identifier. If the job used the resources of an advance reservation, then this field contains a positive integer identifier; otherwise the value is "0".
Advance reservation submission time if the job uses the resources of an advance reservation; otherwise "0".
See sge_intro(1) for a full statement of rights and permissions.