Sun Grid Engine Accounting Users Summary
In Sun Grid Engine (SGE), all job accounting information is written to $SGE_ROOT/$SGE_CELL/common/accounting file. Each record of the accounting information consists of 43 fields separated by colon (':') signs.
For details of all the fields, read up the man page of accounting(5).
If you want to find out distribution of jobs and their corresponding elpased time per user, you will be interested in 4th and 14th field in the accounting record.
$ man accounting
N1 Grid Engine File Formats ACCOUNTING(5)
NAME
accounting - N1 Grid Engine accounting file format
DESCRIPTION
An accounting record is written to the N1 Grid Engine
accounting file for each job having finished. The accounting
file is processed by qacct(1) to derive accounting statis-
tics.
FORMAT
Each job is represented by a line in the accounting file.
Empty lines and lines which contain one character or less
are ignored. Accounting record entries are separated by
colon (':') signs. 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 N1 Grid Engine job.
job_name
Job name.
job_number
Job identifier - job number.
account
An account string as specified by the qsub(1) or
qalter(1) -A option.
priority
Priority value assigned to the job corresponding to the
priority parameter in the queue configuration (see
queue_conf(5)).
submission_time
Submission time in seconds (since epoch format).
start_time
Start time in seconds (since epoch format).
end_time
End time in seconds (since epoch format).
N1GE 6 Last change: 2004/04/19 10:52:07 1
N1 Grid Engine File Formats ACCOUNTING(5)
failed
Indicates the problem which occurred in case a 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). If N1 Grid Engine tries to
start a job multiple times, this may lead to multiple
entries in the accounting file corresponding to the
same job ID.
exit_status
Exit status of the job script (or N1 Grid Engine
specific status in case of certain error conditions).
ru_wallclock
Difference between end_time and start_time (see above).
Below is an AWK script to summarise the accounting information and it's corresponding output. FYI, the usernames are fictitious.
$ cat sge-summary.sh
#! /bin/sh
awk -F":" '
NF==43 {
# $4 - owner
# $14 - wallclock
++jsum[$4]
++jcnt
tsum[$4]+=$14
tcnt+=$14
}
END {
printf("User\tJob\tRun Time\n")
for(i in jsum) {
printf("%-10s\t%.2f%\t%.2f%\n", i, jsum[i]*100/jcnt, tsum[i]*100/tcnt)
}
}' $SGE_ROOT/$SGE_CELL/common/accounting
$ ./sge-summary.sh
User Job Run Time
alan 0.02% 0.00%
bob 2.43% 0.00%
carl 0.02% 0.00%
daryl 0.84% 0.00%
edwin 0.20% 0.00%
francis 0.01% 0.00%
george 0.06% 0.00%
harry 0.02% 0.00%
irene 0.02% 0.00%
jeffrey 0.71% 99.36%
karen 0.05% 0.00%
leo 0.04% 0.00%
mark 0.04% 0.00%
nelson 95.32% 0.64%
oliver 0.22% 0.00%


0 Comments:
Post a Comment
<< Home