QHOST(1)

πŸ’– qhost(1) β€” the manual page bestie πŸ’–

Grid Engine User Commands ✨ this is the one, the icon, the legend: qhost


🌸 NAME 🌸

qhost β€” show the status of Grid Engine hosts, queues, jobs 🫢


πŸŽ€ SYNTAX πŸŽ€

qhost [-F [resource_name,...]]  [-help] [-h host_list] [-j] [-l
resource[=val],...]  [-ncb] [-u user,...]  [-xml]

no cap, that's the whole vibe right there πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so qhost is literally the girl who knows everything about what's going on. she shows you the current status of the available Grid Engine hosts, the queues, and the jobs hanging out with those queues πŸ’…

the selection options let you zero in on specific hosts, queues, jobs, or users. key thing tho: if you do multiple selections, a host only shows up if it meets all of the selection criteria β€” like, everybody has to agree, it's giving group chat consensus fr fr 🫢

and if you run it with no options at all? qhost gives you a list of all hosts, no queue info, no job info. just vibes ✨


πŸ‘‘ OPTIONS πŸ‘‘

  • -F [resource_name,...] β€” qhost pulls up a detailed listing of the current resource availability per host, either for all resources (when you leave the option argument off) or just for the ones in the resource_name list. the whole Full Format situation is explained down in OUTPUT FORMATS, go look πŸ‘€
  • -help β€” prints a listing of all options. the tutorial episode πŸ“–
  • -h host_list β€” prints a list of all hosts contained in host_list.
  • -j β€” prints all jobs running on the queues hosted by the shown hosts. heads up: this switch calls -q implicitly. it's giving "I brought a friend" πŸ™ˆ
  • -l resource[=value],... β€” defines the resources that the hosts need to be granting in order to be included in the host list output. matching happens on hosts based on non-mutable resource availability information only. translation: load values are always ignored, except the so-called static load values listed in load_parameters(5). also consumable utilization? ignored, periodt. and if you give multiple -l resource requests, they get concatenated by a logical AND β€” a host needs to match all the resources to be displayed πŸ”₯
  • -ncb β€” this command line switch gets you 6.2u5-compatible output with the other qhost(1) command line switches. in that case the output of the corresponding command suppresses information about the execution host topology. > ⚠️ heads up bestie: this option will be removed in the next major version. don't get attached πŸ’€
  • -q β€” show information about the queue instances hosted by the displayed hosts.
  • -u user,... β€” display information only on those jobs and queues associated with the users from the given user list. it's giving very selective πŸ’…
  • -xml β€” this one plays nice with all the other options and flips the output to XML. the schemas used are referenced in the XML output. output goes to stdout πŸ–¨οΈ

if you combine -xml with -ncb, then the XML output will contain 6.2u5-compatible output.


🌈 OUTPUT FORMATS 🌈

depending on whether -q or -F and -j are there or not, you get three different output formats. three flavors, three aesthetics, we love range ✨

πŸ“ Default Format (without -q, -F and -j)

for each host, one line gets printed. the output consists of:

  • the Hostname
  • the Architecture
  • the Number of processors
  • the Load
  • the Total Memory
  • the Used Memory
  • the Total Swapspace
  • the Used Swapspace

more details live in load_parameters(5) πŸ“š

if the -q option is supplied, each host status line also gets extra lines for every queue hosted by the host, consisting of:

  • the queue name,
  • the queue type β€” one of B(atch), I(nteractive), or a combination thereof,
  • the number of reserved (by advance reservation, not resource reservation), used and available (according to the queue's slots parameter) job slots,
  • the state of the queue β€” one of u(nknown), a(larm), A(larm), C(alendar suspended), s(uspended), S(ubordinate), d(isabled), D(isabled), E(rror), (c)onfiguration ambiguous, (o)rphaned, (P)reempted, or some combinations thereof. see the section "Full Format" in qstat(1) for the explanation of the status flags 🚦

if the -F option was used, resource availability information gets printed following the host status line. for each resource (as selected in an option argument to -F, or for all resources if the option argument was omitted) a single line is displayed with the following format:

  • a one letter specifier indicating whether the current resource availability value was dominated by either g β€” a cluster global, h β€” a host total or
  • a second one letter specifier indicating the source for the current resource availability value, being one of l β€” a load value reported for the resource, L β€” a load value for the resource after administrator defined load scaling has been applied, c β€” availability derived from the consumable resources facility (see complexes(5)), f β€” a fixed availability definition derived from a non-consumable complex attribute or a fixed resource limit.
  • after a colon the name of the resource on which information is displayed.
  • after an equal sign the current resource availability value.

the displayed availability values and the sources they derive from are always the minimum values of all possible combinations. so, for example, a line of the form qf:h_vmem=4G indicates that a queue currently has a maximum availability in virtual memory of 4 Gigabyte, where this value is a fixed value (e.g. a resource limit in the queue configuration) and it is queue dominated β€” i.e. the host in total may have more virtual memory available than this, but the queue doesn't allow for more. conversely, a line hl:h_vmem=4G would also indicate an upper bound of 4 Gigabyte virtual memory availability, but the limit would be derived from a load value currently reported for the host. so while the queue might allow for jobs with higher virtual memory requirements, the host on which this particular queue resides currently only has 4 Gigabyte available 😭 iconic behavior tbh

after the queue status line (in case of -j) a single line is printed for each job running currently in this queue. each job status line contains:

  • the job ID,
  • the job name,
  • the job owner name,
  • the status of the job β€” one of t(ransfering), r(unning), R(estarted), s(uspended), S(uspended) or T(hreshold) (see the Reduced Format section for detailed information),
  • the start date and time and the function of the job (MASTER or SLAVE β€” only meaningful in case of a parallel job) and
  • the priority of the jobs.

🧚 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, qhost uses (in the 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. in addition, 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.

πŸ’œ FILES πŸ’œ

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

⭐ SEE ALSO ⭐

sge_intro(1), qalter(1), qconf(1), qhold(1), qmod(1), qstat(1), qsub(1), load_parameters(5), queue_conf(5), sge_execd(8), sge_qmaster(8), sge_shepherd(8).


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


and that's the whole page bestie, mwah πŸ’‹ this one came from SGE 8.1.3pre and it's dated 2011-12-04 β€” vintage but still serving, lowkey iconic, periodt πŸ’…βœ¨πŸŒˆ