ACCOUNTING(5)
β¨ ACCOUNTING(5) β¨
okay bestie, welcome to the Grid Engine File Formats corner of the manual universe π this one's the accounting(5) page and it's literally the receipts for every job your cluster ever ran. no cap.
π NAME π
accounting β the Grid Engine accounting file format π«Ά
πΈ DESCRIPTION πΈ
So here's the tea π: an accounting record gets written to the Grid Engine accounting file $SGE_ROOT/$SGE_CELL/common/reporting for each finished job, but only if accounting=true is specified in the sge_conf(5) reporting_params. That write happens at intervals of the accounting_flush_time, which is specified in the same place, iykyk. Then the accounting file gets processed by qacct(1) to derive accounting statistics. iconic behavior honestly.
If output to the reporting(5) file is enabled, accounting records containing similar data are written there too. Those include the "intermediate" records written at midnight for long-running jobs β not just the ones written at the end of the jobs β and so they 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:
qnameβ Name of the cluster queue in which the job has run.hostnameβ Name of the execution host.groupβ The effective group id of the job owner when executing the job.ownerβ Owner of the Grid Engine job.job_nameβ Job name.job_numberβ Job identifier (job number).accountβ An account string as specified by theqsub(1)orqalter(1)-Aoption.priorityβ Priority value assigned to the job, corresponding to thepriorityparameter in the queue configuration (seequeue_conf(5)).submission_timeβ Submission time in seconds since the Unix epoch (1970-01-01 00:00:00 UTC).start_timeβ Start time in seconds since the epoch.end_timeβ End time in seconds since the epoch.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. Seesge_status(5)for a list.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 of0200(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. π
ru_wallclockβ Difference betweenend_timeandstart_time(see above), except that if the job fails, it is zero.ru_utimeru_stimeru_maxrssru_ixrssru_ismrssru_idrssru_isrssru_minfltru_majfltru_nswapru_inblockru_oublockru_msgsndru_msgrcvru_nsignalsru_nvcswru_nivcsw
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. π¦
projectβ The project which was assigned to the job.departmentβ The department which was assigned to the job.granted_peβ The parallel environment which was selected for the job.slotsβ The number of slots which were dispatched to the job by the scheduler.task_numberβ Array job task index number.cpuβ The CPU time usage in seconds. The value may be affected by theACCT_RESERVED_USAGEexecd parameter (seesge_conf(5)).memβ The integral memory usage in Gbytes seconds. The value may be affected by theACCT_RESERVED_USAGEexecd parameter (seesge_conf(5)).ioβ The amount of data transferred in input/output operations in GB (if available, otherwise 0). On Linux, this is summed over calls toread(2),pread(2),write(2), andpwrite(2); thus it includes i/o via cache, and may not reflect data actually written to filing system.categoryβ A string specifying the job category. This contains a space-separated pseudo options list for the job, with components as follows:-Uuser_list β An owner/group ACL list composed fromhost_conf(5),sge_pe(5), Andqueue_conf(5)user_lists/xuser_listsentries. Entries fromsge_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.-Pproject_list β Like-U, but forproject/xprojectentries.-uowner β The owner's user name, if it was referenced in any RQS (seesge_resource_quota(5)). Omitted if there was no such reference.-qqueue_list β The hard queue list (only if one was specified).-masterqqueue_list β The master queue list (only if one was specified).-lresource_list β The hard resource list (only if hard resources were specified).-soft -lresource_list β The soft resource list (only if soft resources were specified).-pepe_name pe_range β The parallel environment specified for the job (only for parallel jobs).-ckptckpt_name β The job's checkpointing environment (only if one was specified).-Iy β Present only for interactive jobs.-arar_id β The advance reservation into which the job was submitted (only if one was specified).
iowβ The input/output wait time in seconds (if available, otherwise 0).pe_taskidβ If this identifier is not equal toNONE, the task was part of a parallel job, and was passed to Grid Engine via theqrsh -inheritinterface. Such records are not produced if the PE'saccounting_summaryparameter is false (seesge_pe(5)).maxvmemβ The maximum vmem size in bytes. The value may be affected by theACCT_RESERVED_USAGEexecd parameter (seesge_conf(5)).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".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), qacct(1), qalter(1), qsub(1), getrusage(2), queue_conf(5), sge_conf(5), sge_pe(5), sge_status(5), reporting(5).
π COPYRIGHT π
See sge_intro(1) for a full statement of rights and permissions.
and that's the whole vibe bestie, no cap π this was SGE 8.1.3pre, dated 2011-11-17 β go forth and read your receipts, main character ππ
π¦ where this page comes from
- debian bookworm: gridengine-common 8.1.9+dfsg-10 Β· SISSL
- debian trixie: gridengine-common 8.1.9+dfsg-13.1 Β· SISSL
- ubuntu jammy: gridengine-common 8.1.9+dfsg-10build1 Β· SISSL
- ubuntu noble: gridengine-common 8.1.9+dfsg-11build3 Β· SISSL
- ubuntu questing: gridengine-common 8.1.9+dfsg-13.1
- ubuntu resolute: gridengine-common 8.1.9+dfsg-13.2 Β· SISSL
- ubuntu stonking: gridengine-common 8.1.9+dfsg-13.2ubuntu1 Β· SISSL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms