QACCT(1)

✨ QACCT(1) ✨

ok so bestie, welcome to qacct from the Grid Engine user commands corner of the world πŸŽ€ this is the lil tool that reports and accounts for your Grid Engine usage. she's giving ✨receipts✨ energy and honestly we're obsessed.


🌸 SYNOPSIS 🌸

qacct [-ar [ar_id]] [-A Account] [-b BeginTime] [-d Days] [-e EndTime]
[-g [GroupId|GroupName]] [-h [HostName]] [-help] [-j
[job_id|job_name|pattern]] [-l attr=val,...]  [-m] [-o [Owner]] [-u
[Owner]] [-pe [PEname]] [-q [wc_queue]] [-slots [SlotNumber]] [-t
task_id_range_list] [-P [Project]] [-D [Department]] [-f AcctFileName]
[-E]

πŸ’– DESCRIPTION πŸ’–

So qacct literally scans the accounting data file (peep accounting(5) for that one πŸ‘€) and cooks up a summary of info for wall-clock time, CPU time, and system time. And it does it for these categories: host name, queue name, group name, owner name, job name, job ID, and also for the queues that meet whatever resource requirements you specified with the -l switch. And yes, you can mix and match combos of each category, slay πŸ’…

OR, alternatively, you can list all the jobs or just some specific ones using the -j switch. Like for example, your search criteria could be summarizing for a queue and an owner β€” but not for two queues in the same request. That's not the vibe, don't do that πŸ™ˆ

ngl there's a lil plot twist: results that include parallel jobs depend on the value of accounting_summary in the parallel environment definition (go read sge_pe(5) 🧚). If it's false, then there's an accounting record for slave tasks as well as master tasks, so like… there's a contribution to CPU time from each task. And btw β€” the slot count reported for each task is the total for the job, NOT the one allocated to the slave. just so you know fr fr πŸ’€

✨ OPTIONS ✨

  • -ar [ar_id] β€” the ID of the advance reservation you want usage summarized for. If you don't hand over an ar_id, then accounting data gets listed for each advance reservation separately 🫢
  • -A Account β€” the account for the jobs you wanna summarize.
  • -b BeginTime β€” the earliest start time for jobs to be summarized, formatted like [[CC]YY]MMDDhhmm[.SS]. Also check the -d option. If CC isn't specified, a YY of <70 means 20YY. And if the -E option is in play, this instead specifies the earliest job end time ⏰
  • -d Days β€” how many days you wanna summarize and print accounting info for. If you use it with the -b BeginTime option (above), then jobs started (or, with -E, finished) within BeginTime to BeginTime+Days get counted. If you use it with the -e EndTime option (below), selection is from EndTime-Days. With neither of them? Then it considers the last Days. πŸ‘‘
  • -e EndTime β€” the latest start time for jobs to be summarized, in the format [[CC]YY]MMDDhhmm[.SS]. See also -d. If CC isn't specified, a YY of <70 means 20YY. If the -E option is specified, this instead specifies the latest job end time ⏰
  • -f AcctFileName β€” the accounting file to be used. "-" means use standard input. If you just omit it, the system default accounting file gets processed πŸ’–
  • -g [GroupId|GroupName] β€” the numeric system group id, or the group alphanumeric name, of the job owners to be included in the accounting. If GroupId/GroupName is omitted, all groups are accounted. all of them. every single one 🌈
  • -h [HostName] β€” the case-insensitive name of the host you're requesting accounting info about. If the name is omitted, totals for each host get listed separately.
  • -help β€” display help information for the qacct command. bestie needs assistance sometimes, it's fine 🫢
  • -j [job_id|job_name|pattern] β€” the name, an expression for matching names, or ID of the job during execution for which accounting information is printed. If neither a name nor an ID is given, all jobs are listed. ⚠️ heads up: this option changes the output format of qacct. If it's activated, CPU times are no longer accumulated β€” instead, "raw" per-job accounting information is printed in a formatted form. Which is: CPU time (seconds), integrated memory usage (GB seconds), total i/o (bytes), i/o wait time (seconds), and maximum virtual memory (bytes). periodt.
  • -l attr=val,... β€” a resource requirement specification that must be met by the queues in which the jobs being accounted were executing. The resource request is very similar to the one described in qsub(1). iykyk πŸ’…
  • -m β€” ignore slave tasks of parallel jobs. Only relevant when accounting_summary is false, and probably only useful with -j to prune the output. βœ‚οΈ
  • -o [Owner] | -u [Owner] β€” the name of the owner of the jobs for which accounting statistics are assembled. If the optional Owner argument is omitted, you get a listing of the accounting statistics of all job owners present in the accounting file. And plot twist: -u and -o are synonyms πŸŽ€
  • -pe [PEname] β€” the name of the parallel environment for which usage is summarized. If PEname isn't given, accounting data gets listed for each parallel environment separately.
  • -q [wc_queue_name] β€” an expression for queues for which usage is summarized. All queue instances matching the expression will be listed. If no expression is specified, you get a cluster queue summary. 🌸
  • -slots [SlotNumber] β€” the number of queue slots for which usage is summarized. If SlotNumber isn't given, accounting data gets listed for each number of queue slots separately.
  • -t task_id_range_list β€” only available together with the -j option described above, no solo missions allowed 🚫

The -t switch specifies the array job task range for which accounting information should be printed. Syntax and semantics of task_id_range_list are identical to the one described under the -t option to qsub(1). Go look there for further info on array jobs too πŸ¦‹

  • -P [Project] β€” the name of the project for which usage is summarized. If Project isn't given, accounting data gets listed for each relevant project separately.
  • -D [Department] β€” the name of the department for which usage is summarized. If Department isn't given, accounting data gets listed for each relevant department separately.
  • -E β€” when selecting times with -b, -e, -d, use the job end time rather than the start time to select. This can be useful because the accounting record is written at the job end. makes sense honestly πŸ’œ

🌈 ENVIRONMENT VARIABLES 🌈

  • SGE_ROOT β€” specifies the location of the Grid Engine standard configuration files.
  • SGE_CELL β€” if set, specifies the default Grid Engine cell. To address a Grid Engine cell, qacct uses (in order of precedence):
    1. The name of the cell specified in the environment variable SGE_CELL, if it is set.
    2. The name of the default cell, i.e. default.
  • SGE_DEBUG_LEVEL β€” if set, specifies that debug information should be written to stderr. Plus the level of detail in which debug information is generated is defined. πŸ”
  • SGE_QMASTER_PORT β€” if set, specifies the tcp port on which sge_qmaster(8) is expected to listen for communication requests. Most installations will use a services map entry for the service "sge_qmaster" instead to define that port.
  • SGE_EXECD_PORT β€” if set, specifies the tcp port on which sge_execd(8) is expected to listen for communication requests. Most installations will use a services map entry for the service "sge_execd" instead to define that port.

πŸŽ€ FILES πŸŽ€

  • <sge_root>/<cell>/common/accounting β€” Grid Engine default accounting file
  • <xxqs_nam_sexx_root>/<cell>/common/act_qmaster β€” Grid Engine master host file

πŸ‘€ SEE ALSO πŸ‘€

sge_intro(1), qsub(1), accounting(5), sge_qmaster(8),


See sge_intro(1) for a full statement of rights and permissions.


ok that's the whole thing bestie, you're so welcome πŸ’– this was SGE 8.1.3pre, dated 2011-05-20 β€” iconic vintage behavior, we stan an old queen πŸ‘‘βœ¨ mwah, go read your accounting file πŸŽ€