---
name: "sge_accounting"
section: "5"
platform: "linux"
package: "gridengine-common"
version: "8.1.9+dfsg-13.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/sge_accounting"
---

# sge\_accounting(5)

Grid Engine accounting file format

## NAME

accounting - Grid Engine accounting file format

## DESCRIPTION

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)](/sge_conf/5.md) **reporting\_params**. This occurs at intervals of the **accounting\_flush\_time** specified in the same place. The accounting file is processed by [*qacct*(1)](/qacct/1.md) 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.

## FORMAT

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:

### 1. qname

Name of the cluster queue in which the job has run.

### 2. hostname

Name of the execution host.

### 3. group

The effective group id of the job owner when executing the job.

### 4. owner

Owner of the Grid Engine job.

### 5. job\_name

Job name.

### 6. job\_number

Job identifier (job number).

### 7. account

An account string as specified by the [*qsub*(1)](/qsub/1.md) or [*qalter*(1)](/qalter/1.md) **-A** option.

### 8. priority

Priority value assigned to the job, corresponding to the **priority** parameter in the queue configuration (see *queue\_conf*(5)).

### 9. submission\_time

Submission time in seconds since the Unix epoch (1970-01-01 00:00:00 UTC).

### 10. start\_time

Start time in seconds since the epoch.

### 11. end\_time

End time in seconds since the epoch.

### 12. failed

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)](/sge_status/5.md) for a list.

### 13. exit\_status

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)](/qdel/1.md), 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.

### 14. ru\_wallclock

Difference between **end\_time** and **start\_time** (see above), except that if the job fails, it is zero.

### 15. ru\_utime

### 16. ru\_stime

### 17. ru\_maxrss

### 18. ru\_ixrss

### 19. ru\_ismrss

### 20. ru\_idrss

### 21. ru\_isrss

### 22. ru\_minflt

### 23. ru\_majflt

### 24. ru\_nswap

### 25. ru\_inblock

### 26. ru\_oublock

### 27. ru\_msgsnd

### 28. ru\_msgrcv

### 29. ru\_nsignals

### 30. ru\_nvcsw

### 31. ru\_nivcsw

These entries follow the contents of the standard Unix rusage structure as described in [*getrusage*(2)](/getrusage/2.md). Depending on the operating system where the job was executed, some of the fields may be 0.

### 32. project

The project which was assigned to the job.

### 33. department

The department which was assigned to the job.

### 34. granted\_pe

The parallel environment which was selected for the job.

### 35. slots

The number of slots which were dispatched to the job by the scheduler.

### 36. task\_number

Array job task index number.

### 37. cpu

The CPU time usage in seconds.  The value may be affected by the ACCT\_RESERVED\_USAGE execd parameter (see [*sge\_conf*(5)](/sge_conf/5.md)).

### 38. mem

The integral memory usage in Gbytes seconds.  The value may be affected by the ACCT\_RESERVED\_USAGE execd parameter (see [*sge\_conf*(5)](/sge_conf/5.md)).

### 39. io

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)](/read/2.md), [*pread*(2)](/pread/2.md), [*write*(2)](/write/2.md), and [*pwrite*(2)](/pwrite/2.md); thus it includes i/o via cache, and may not reflect data actually written to filing system.

### 40. category

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)](/sge_pe/5.md), And *queue\_conf*(5) **user\_lists**/**xuser\_lists** entries.  Entries from [*sge\_conf*(5)](/sge_conf/5.md) 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)](/sge_resource_quota/5.md)). 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).

### 41. iow

The input/output wait time in seconds (if available, otherwise 0).

### 42. pe\_taskid

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)](/sge_pe/5.md)).

### 43. maxvmem

The maximum vmem size in bytes.  The value may be affected by the ACCT\_RESERVED\_USAGE execd parameter (see [*sge\_conf*(5)](/sge_conf/5.md)).

### 44. arid

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**".

### 45. ar\_sub\_time

Advance reservation submission time if the job uses the resources of an advance reservation; otherwise "**0**".

## FILES

*$SGE\_ROOT/$SGE\_CELL/common/accounting*

## SEE ALSO

[*sge\_intro*(1)](/sge_intro/1.md), [*qacct*(1)](/qacct/1.md), [*qalter*(1)](/qalter/1.md), [*qsub*(1)](/qsub/1.md), [*getrusage*(2)](/getrusage/2.md), *queue\_conf*(5), [*sge\_conf*(5)](/sge_conf/5.md), [*sge\_pe*(5)](/sge_pe/5.md), [*sge\_status*(5)](/sge_status/5.md), *reporting*(5).

## COPYRIGHT

See [*sge\_intro*(1)](/sge_intro/1.md) for a full statement of rights and permissions.
