HYPTOP(8)
π hyptop(8)
Okay bestie, welcome to the hyptop(8) page from the System Manager's Manual β and yes, it's giving βShow hypervisor performance data on System zβ main-character energy. β¨
πΈ NAME
hyptop β Show hypervisor performance data on System z. π
π¦ SYNOPSIS
hyptop [OPTIONS]
β¨ DESCRIPTION
Okay so hyptop provides a dynamic real-time view of a hypervisor environment on System z. π«Ά It works with either the z/VM hypervisor or the LPAR hypervisor. Depending on the available data it shows, for example, CPU and memory information about running LPARs or z/VM guests.
hyptop provides two windows:
sys_list: Shows a list of systems that the hypervisor is currently running.sys: Shows one system in more detail.
System names in hyptop are either LPAR names as shown on the SE or HMC, or z/VM guest IDs that identify z/VM guest virtual machines. π
You can run hyptop in interactive mode (default) or in batch mode with the "-b" option. For how to use the interactive mode, see the online help (enter "?" after hyptop is started). π
π OPTIONS
Here's the option menu, bestie β every flag, no skipping. π
-h,--helpβ Print usage information, then exit. π-v,--versionβ Print version information, then exit. π¦-w <WINDOW NAME>,--window=<WINDOW NAME>β Select current window. Use the options"--sys","--fields", and"--sort"to modify the current window. The last window specified with the"--window"option will be used as start window. The default window is"sys_list". π-s <SYSTEM>,...,--sys=<SYSTEM>,...β Select systems for current window. If this option is specified, only the selected systems are shown for the window. For window"sys"only one system can be specified. π-f <F_LETTER>[:<UNIT>],...,--fields=<F_LETTER>[:<UNIT>],...β Select fields and units in the current window."F_LETTER"is the field letter that identifies uniquely a field (for example"c"for CPU time)."UNIT"is the used entity for displaying data for the field (for example"us"for microseconds). See FIELDS and UNITS below for definitions. If the"--fields"option is specified, only the selected fields are shown. πΈ-S <F_LETTER>,--sort=<F_LETTER>β Select sort field for current window. To reverse the sort order, specify the option twice. See FIELDS below for definitions. β-t <TYPE>,...,--cpu-types=<TYPE>,...β Select CPU types that are used for CPU time calculations. See CPU TYPES below for definitions. π₯-b,--batch-modeβ Use batch mode (no curses). This can be useful for sending output fromhyptopto another program, a file, or a line mode terminal. In this mode no user input is accepted. π»--format=<FORMAT>β Use this option to show output in a machine-readable format.FORMATcan be one of:jsonβ Single JavaScript Object Notation (JSON) data structure. Data for all iterations is formatted as one JSON data structure in multiple lines to make them more readable by humans. See section"OUTPUT FORMAT"for more details.json-seqβ Sequence of JSON data structures. Data for each iteration is formatted as a separate JSON data structure prefixed with an ASCII Record Separator character (0x1e) and suffixed with an ASCII Line Feed character (0x0a) in accordance with RFC7464. See section"OUTPUT FORMAT"for more details.jsonlβ Line-delimited JSON data structures. Data for each iteration is formatted as a separate JSON data structure separated by ASCII Line Feed character (0x0a, LF). See section"OUTPUT FORMAT"for more details.pairsβ Textualkey=valuepairs.csvβ Comma-separated-value (CSV) list. All values are enclosed in double quotation marks and separated by commas. The first line of output contains a list of headings. Subsequent lines each represent data for one system in one iteration.
This option implies the "--batch-mode" option. π«Ά
--allβ Use this option with the"--format"option to include fields without valid values in the output. Fields without valid values are omitted from the output by default. When you use the"--all"option, the invalid values are included and shown as"null". π-d <SECONDS>,--delay=<SECONDS>β Specifies the delay between screen updates. β³-m <FACTOR>,--smt-factor=<FACTOR>β Specifies a workload dependent SMT speedup factor. For IBM z15 servers, the default value is1.3. If the workload benefits from SMT, you can specify a higher value. If the workload does not benefit from SMT, specifying lower values results in more accurate reports of real CPU SMT utilization field for LPARs. There is no hard boundary except that it must be a positive value. Example ranges to select a sensible value from:
For IBM z13: [0.8, 1.3]
For IBM z15: [1.1, 1.5]
-n <ITERATIONS>,--iterations=<ITERATIONS>β Specifies the maximum number of iterations before ending. π
π§ PREREQUISITES
The following things are required to run hyptop:
- The Linux kernel must have the required support to provide the performance data.
debugfshas to be mounted.- The
hyptopuser must have read permission for the requireddebugfsfiles. - You can always monitor the guest operating system where
hyptopis running.
To monitor any other operating system instances running on the same hypervisor as hyptop, you will need additional permissions.
- For z/VM, the guest virtual machine must have privilege class B.
- For LPAR, on the HMC or SE security menu of the LPAR activation profile, select the Global performance data control checkbox.
To mount debugfs, you can use this command:
# mount none -t debugfs /sys/kernel/debug
To make this persistent, add the following to "/etc/fstab":
none /sys/kernel/debug debugfs defaults 0 0
π¦ FIELDS
The supported fields depend on the available data on the hypervisor. This is different between LPAR and z/VM. It might also depend on machine type, z/VM version and kernel version. Each field has a unique field letter that can be used to select the field in interactive mode or through the "--fields" command line option. π
π The fields under LPAR
β¨ In "sys_list" and "sys" window
'c'β Core dispatch time per second'e'β Thread time per second'S'β Real CPU SMT utilization'm'β Management time per second'C'β Total core dispatch time'E'β Total thread time'M'β Total management time'o'β Online time
π In "sys_list" window
'#'β Number of cores (sum of initial and reserved)'T'β Number of threads (sum of initial and reserved)
πΈ In "sys" window
'p'β CPU type'v'β Visualization of core dispatch time per second
π The fields under z/VM
π¦ In "sys_list" and "sys" window
'c'β CPU time per second'm'β Management time per second (*)'C'β Total CPU time'M'β Total management time (*)'o'β Online time
π In "sys_list" window
'#'β Number of CPUs'O'β Number of operating CPUs'u'β Used memory'a'β Maximum memory'r'β Current weight'x'β Maximum weight
β¨ In "sys" window
'v'β Visualization of CPU time per second
(*) Only available for the local guest virtual machine Only available if the system has the required support
π UNITS
Depending on the field type the values can be displayed in different units. The following units are supported:
β³ Time
'us'β Microseconds (10^-6 seconds)'ms'β Millisconds (10^-3 seconds)'%'β Hundreds of a second (10^-2 seconds) or percent's'β Seconds'm'β Minutes'hm'β Hours & Minutes'dhm'β Days & Hours & Minutes
π§ Memory
'kib'β Kibibytes (1.024 bytes)'mib'β Mebibytes (1.048.576 bytes)'gib'β Gibibytes (1.073.741.824 bytes)
π Miscellaneous
'str'β String'#'β Count/Number'vis'β Visualization
π CPU TYPES
Depending on the hypervisor different CPU types are supported. These CPU types can be selected either interactively or with the --cpu-types command line option. The calculation of the CPU data only uses CPUs of the specified types. π
On LPAR the following CPU types are supported:
'IFL'β Integrated Facility for Linux'CP'β CP processor type'UN'β Unspecified processor type (other than CP or IFL)
NOTE: It is possible that on older machines also IFLs are shown as CPs. On z/VM currently only the processor type 'UN' is available.
π₯ CPU DATA
For Linux on z/VM, no performance data is available for individual CPUs on remote guests. Therefore, the hyptop "sys" window shows identical values for each of the operating CPUs. For the CPU time fields, these values represent the total across all operating CPUs divided by the number of operating CPUs. For the online time field, the value is the time during which at least one CPU has been operational. Operating CPUs are shown with CPU identifier "0" and stopped CPUs with "1". π
β¨ OUTPUT FORMATS β¨
Ok so this bit is extra tea β for a couple of the output formats β like, the details you'd want if you're parsing this stuff instead of just vibing at it. Let's go π
πΈ json πΈ
The JSON output is one top-level object, and it's giving very structured, very demure. Here's what's in it (key-value pairs, bestie):
meta: tool meta-data, including the API level, the version, the host name, and the time of invocation πhyptop: the hypervisor performance data itself
All the performance data sits in an array of iteration objects under the "hyptop" property of that top-level object. Each iteration object has these properties:
iteration: the sequential count of the current iteration π’timeandtime_epoch: when the iteration was recorded β one human-readable, one as Unix epochcputypes: how many CPUs hyptop detected, per CPU type. Possible properties arecp,iflandunsystems: when the"sys_list"window is selected, this holds an array of system objects with the performance data per system. Each system object has a"system"property plus properties for its performance data (peep below π)cpus: when the"sys"window is selected, this holds an array of CPU objects with the performance data per CPU of the selected system. Each CPU object has a"coreid"property plus properties for its performance data (again, below)summary: aggregated performance data over all systems in the"systems"or"cpus"array π«Ά
All the performance data available for the platform (LPAR, z/VM) that hyptop is running on gets shown. Picking specific fields with --fields? Not supported, sorry babe π β but you can change the units of fields. Performance data properties are labeled after their respective columns.
Example JSON output for a single iteration β iconic, honestly:
{
"meta": {
"api_level": 1,
"version": "2.35.0",
"host": "mylpar.local",
"time_epoch": 1730787834,
"time": "2024-11-05 07:23:54+0100"
},
"hyptop": [
{
"iteration": 0,
"time_epoch": 1730787834,
"time": "2024-11-05 07:23:54+0100",
"cputypes": {
"ifl": 124,
"cp": 1,
"un": 0
},
"systems": [
{
"system": "MYLPAR",
"#core": 30,
"#the": 60,
"core": 379.57,
"the": 382.43,
"smt": 294.73,
"mgm": 2.09,
"core+": "1503:13",
"the+": "2060:45",
"mgm+": "22:19",
"online": "18:18:09"
}
],
"summary": {
"#core": 30,
"#the": 60,
"core": 379.57,
"the": 382.43,
"smt": 294.73,
"mgm": 2.09,
"core+": "1503:13",
"the+": "2060:45",
"mgm+": "22:19",
"online": "18:18:09"
}
}
]
}
π¦ json-seq π¦
json-seq is the JSON output format's sibling β same DNA, but with these differences, bestie:
- the output is a sequence of top-level JSON objects, each one on a single line with no indentation
- each top-level object is prefixed by an ASCII Record Separator character (
0x1e) and suffixed with an ASCII Line Feed character (0x0a), all in accordance withRFC7464π - the first object carries the tool meta-data properties defined in the previous section
- every subsequent object represents performance data for one iteration
π jsonl π
jsonl is the data streaming variation of the JSON output format described above β same properties as the json-seq output, except the JSON data is separated only by an ASCII Line Feed character (0x0a, LF). That's it. That's the whole difference. Slay for simplicity π
π₯ EXAMPLES π₯
Wanna start hyptop with the "sys_list" window in interactive mode? Say less:
# hyptop
Wanna start hyptop with the "sys_list" window in batch mode? Periodt:
# hyptop -b
Wanna start hyptop with the "sys_list" window in interactive mode, with the fields CPU time (in milliseconds) and online time (unit default), sorted by online time? Here you go:
# hyptop -f c:ms,o -S o
Wanna start hyptop with the "sys" window for system "MYLPAR", with the fields CPU time (unit milliseconds) and online time (unit default), and sort the output reverse according to online time? Yes, the double -S o is on purpose, don't come for me:
# hyptop -w sys -s MYLPAR -f c:ms,o -S o -S o
Wanna start hyptop with the "sys_list" window in batch mode with update delay 5 seconds and 10 iterations? Chef's kiss:
# hyptop -b -d 5 -n 10
Wanna start hyptop with the "sys_list" window using only the CPU types IFL and CP for CPU time calculation? Ate:
# hyptop -t ifl,cp
Wanna show a single iteration of performance data as a formatted JSON object for system "MYLPAR", with fields CPU time, thread time, management time and online time in microseconds? Obsessed with this one:
# hyptop -f C:us,E:us,M:us,o:us --format json -n 1 -s MYLPAR
π ENVIRONMENT π
TERMβ this environment variable specifies your terminal type. To run hyptop in interactive mode,TERMhas to be set. Interactive mode is not available for terminals that haveTERM=dumb(e.g. line mode terminals) π so set it properly, okay?
And that's a wrap on this manpage, bestie π«Ά This little beauty comes from s390-tools, dated Nov 2009 and filed as HYPTOP(8) β go forth and monitor those hypervisors, you main character ππ
π¦ where this page comes from
- opensuse-leap 16.0: s390-tools 2.44.1-160000.1.1 Β· MIT
- Copyright 2017 IBM Corp
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms