perfquery(8) - Linux man page
Name
perfquery - query InfiniBand port countersSynopsis
Description
perfquery uses PerfMgt GMPs to obtain the PortCounters (basic performance and error counters), PortExtendedCounters, PortXmitDataSL, PortRcvDataSL, PortRcvErrorDetails, PortXmitDiscardDetails, PortExtendedSpeedsCounters, or PortSamplesControl from the PMA at the node/port specified. Optionally shows aggregated counters for all ports of node. Also, optionally, reset after read, or only reset counters.
Note: In PortCounters, PortCountersExtended, PortXmitDataSL, and PortRcvDataSL, components that represent Data (e.g. PortXmitData and PortRcvData) indicate octets divided by 4 rather than just octets.
Note: Inputting a port of 255 indicates an operation be performed on all ports.
Options
- -x, --extended
- show extended port counters rather than (basic) port counters. Note that extended port counters attribute is optional.
- -X, --xmtsl
- show transmit data SL counter. This is an optional counter for QoS.
- -S, --rcvsl
- show receive data SL counter. This is an optional counter for QoS.
- -D, --xmtdisc
- show transmit discard details. This is an optional counter.
- -E, --rcverr
- show receive error details. This is an optional counter.
- -D, --xmtdisc
- show transmit discard details. This is an optional counter.
- -T, --extended_speeds
- show extended speeds port counters. This is an optional counter.
- --oprcvcounters
- show Rcv Counters per Op code. This is an optional counter.
- --flowctlcounters
- show flow control counters. This is an optional counter.
- --vloppackets
- show packets received per Op code per VL. This is an optional counter.
- --vlopdata
- show data received per Op code per VL. This is an optional counter.
- --vlxmitflowctlerrors
- show flow control update errors per VL. This is an optional counter.
- --vlxmitcounters
- show ticks waiting to transmit counters per VL. This is an optional counter.
- --swportvlcong
- show sw port VL congestion. This is an optional counter.
- --rcvcc
- show Rcv congestion control counters. This is an optional counter.
- --slrcvfecn
- show SL Rcv FECN counters. This is an optional counter.
- --slrcvbecn
- show SL Rcv BECN counters. This is an optional counter.
- --xmitcc
- show Xmit congestion control counters. This is an optional counter.
- --vlxmittimecc
- show VL Xmit Time congestion control counters. This is an optional counter.
- -c, --smplctl
- show port samples control.
- -a, --all_ports
- show aggregated counters for all ports of the destination lid or reset all counters for all ports. If the destination lid does not support the AllPortSelect flag, all ports will be iterated through to emulate AllPortSelect behavior.
- -l, --loop_ports
- If all ports are selected by the user (either through the -a option or port 255) iterate through each port rather than doing than aggregate operation.
- -r, --reset_after_read
- reset counters after read
- -R, --Reset_only
- only reset counters
Common Options
Most OpenIB diagnostics take the following common flags. The exact list of supported flags per utility can be found in the usage message and can be shown using the util_name -h syntax.
# Debugging flags
-d raise the IB debugging level. May be used several times (-ddd or -d -d -d).
-e show send and receive errors (timeouts and others)
-h show the usage message
-v increase the application verbosity level. May be used several times (-vv or -v -v -v)
-V show the version info.
# Addressing flags
-G use GUID address argument. In most cases, it is the Port GUID. Example:
"0x08f1040023"
-s <smlid> use 'smlid' as the target lid for SM/SA queries.
# Other common flags:
-C <ca_name> use the specified ca_name.
-P <ca_port> use the specified ca_port.
-t <timeout_ms> override the default timeout for the solicited mads.
Multiple CA/Multiple Port Support
When no IB device or port is specified, the port to use is selected by the following criteria:
1. the first port that is ACTIVE.
2. if not found, the first port that is UP (physical link up).
If a port and/or CA name is specified, the user request is attempted to be fulfilled, and will fail if it is not possible.
Examples
perfquery # read local port performance counters
perfquery 32 1 # read performance counters from lid 32, port 1
perfquery -x 32 1 # read extended performance counters from lid 32, port 1
perfquery -a 32 # read perf counters from lid 32, all ports
perfquery -r 32 1 # read performance counters and reset
perfquery -x -r 32 1 # read extended performance counters and reset
perfquery -R 0x20 1 # reset performance counters of port 1 only
perfquery -x -R 0x20 1 # reset extended performance counters of port 1 only
perfquery -R -a 32 # reset performance counters of all ports
perfquery -R 32 2 0x0fff # reset only error counters of port 2
perfquery -R 32 2 0xf000 # reset only non-error counters of port
2
Author
- Hal Rosenstock
- <hal.rosenstock@gmail.com>