mmpmon command
Manages performance monitoring and displays performance information.
Synopsis
mmpmon [-i CommandFile] [-d IntegerDelayValue] [-p]
[-r IntegerRepeatValue] [-s] [-t IntegerTimeoutValue]
Availability
Available on all IBM Spectrum Scale editions.
Description
Before you attempt to use mmpmon, it is a good idea to review the current command topic and read the topic Monitoring I/O performance with the mmpmon command.
Use the mmpmon command to manage GPFS performance monitoring functions and display performance monitoring data. The mmpmon command reads requests from an input file or standard input (stdin), and writes responses to standard output (stdout). Error messages go to standard error (stderr). Prompts, if not suppressed, go to stderr.
You can run mmpmon so that it continually reads input from a pipe. That is, the driving script or application never sends an end of file. In this scenario, it is a good idea to set the -r option to 1, or to use the default value of 1. This setting prevents the command from caching input records. In doing so it avoids unnecessary memory consumption.
This command cannot be run from a Windows node.
Results
The performance monitoring request is sent to the GPFS daemon that is running on the same node that is running the mmpmon command.
All results from the request are written to stdout.
- Human readable, intended for direct viewing. In this format, the results are keywords that describe the value presented, followed by the value. Here is an example:
disks: 2
- Machine readable, an easily parsed format intended for further
analysis by scripts or applications.
In this format, the results are strings with values presented as keyword/value pairs. The keywords are delimited by underscores (_) and blanks to make them easier to locate.
For details on how to interpret the mmpmon command results, see the topic Monitoring I/O performance with the mmpmon command.
Parameters
- -i CommandFile
- The input file contains mmpmon command
requests, one per line. Use of the -i flag
implies use of the -s flag. For interactive
use, omit the -i flag. In this case, the
input is then read from stdin, allowing mmpmon to
take keyboard input or output piped from a user script or application
program.
Leading blanks in the input file are ignored. A line beginning with a number sign (#) is treated as a comment. Leading blanks in a line whose first non-blank character is a number sign (#) are ignored.
The input requests to the mmpmon command are as follows:- fs_io_s
- Displays I/O statistics per mounted file system.
- io_s
- Displays I/O statistics for the entire node.
- nlist add name [name...]
- Adds node names to a list of nodes for mmpmon processing.
- nlist del
- Deletes a node list.
- nlist new name [name...]
- Creates a node list.
- nlist s
- Shows the contents of the current node list.
- nlist sub name [name...]
- Deletes node names from a list of nodes for mmpmon processing.
- once request
- Indicates that the request is to be performed only once.
- qosio
- Displays statistics for Quality of Service for I/O operations (QoS).
- reset
- Resets statistics to zero.
- rhist nr
- Changes the request histogram facility request size and latency ranges.
- rhist off
- Disables the request histogram facility. This value is the default.
- rhist on
- Enables the request histogram facility.
- rhist p
- Displays the request histogram facility pattern.
- rhist reset
- Resets the request histogram facility data to zero.
- rhist s
- Displays the request histogram facility statistics values.
- rpc_s
- Displays the aggregation of execution time for remote procedure calls (RPCs).
- rpc_s size
- Displays the RPC execution time according to the size of messages.
- ver
- Displays mmpmon version.
- vio_s [f rg RecoveryGroupName [da DeclusteredArray [v Vdisk]]] [reset]
- Displays IBM Spectrum Scale RAID vdisk I/O statistics. For more information about IBM Spectrum Scale RAID, see IBM Spectrum Scale RAID: Administration.
- vio_s_reset [f rg RecoveryGroupName [da DeclusteredArray [v Vdisk]]]
- Resets IBM Spectrum Scale RAID vdisk I/O statistics. For more information about IBM Spectrum Scale RAID, see IBM Spectrum Scale RAID: Administration.
- loc_io_s [f fs fsName [p poolName]]
- Displays locality I/O statistics. It displays the amount of data that is written/read locally and remotely. It supports filesystem filter and pool filter.
Options
- -d IntegerDelayValue
- Specifies a number of milliseconds to sleep after one invocation
of all the requests in the input file. The default value is 1000.
This value must be an integer greater than or equal to 500 and less
than or equal to 8000000. The command processes the input file in the following way:
- The command processes each request in the input file sequentially. It reads a request, processes it, sends it to the GPFS daemon, and waits for the response. When it receives the response, the command processes it and displays the results of the request. The command then goes on to the next request in the input file.
- When the command processes all the requests in the input file, it sleeps for the specified number of milliseconds.
- When the command wakes, it begins another cycle of processing, beginning with Step 1. The number of repetitions depends on the value of the -r flag.
- -p
- Indicates to generate output that can be parsed by a script or program. If this option is not specified, human-readable output is produced.
- -r IntegerRepeatValue
- Specifies the number of times to run all the requests in the input
file.
The default value is one. Specify an integer between zero and 8000000. Zero means to run forever, in which case processing continues until it is interrupted. This feature is used, for example, by a driving script or application program that repeatedly reads the result from a pipe.
The once prefix directive can be used to override the -r flag. See the description of once in the topic Monitoring I/O performance with the mmpmon command.
- -s
- Indicates to suppress the prompt on input.
Use of the -i flag implies use of the -s flag. For use in a pipe or with redirected input (<), the -s flag is preferred. If not suppressed, the prompts go to standard error (stderr).
- -t IntegerTimeoutValue
- Specifies a number of seconds that the command waits for responses
from the GPFS daemon before
it fails.
The default value is 60. This value must be an integer greater than or equal to 1 and less than or equal to 8000000.
Exit status
- 0
- Successful completion.
- 1
- Various errors, including insufficient memory, input file not found, incorrect option, and others.
- 3
- Either no commands were entered interactively, or the input file did not contain any mmpmon commands. The input file was empty, or consisted of all blanks or comments.
- 4
- mmpmon terminated due to a request that was not valid.
- 5
- An internal error occurred.
- 111
- An internal error occurred. A message follows.
Restrictions
- Up to five instances of mmpmon can be run on a node concurrently. However, concurrent users might interfere with each other. See the topic Monitoring I/O performance with the mmpmon command.
- Do not alter the input file while mmpmon is running.
- The input file must contain valid input requests, one per line. When mmpmon finds an invalid request, it issues an error message and terminates. The command processes input requests that appear in the input file before the first invalid request.
Security
The mmpmon command must be run by a user with root authority, on the node for which you want statistics.
The node on which the command is issued must be able to execute remote shell commands on any other node in the cluster without the use of a password and without producing any extraneous messages. For more information, see Requirements for administering a GPFS file system.
Examples
- Assume that infile contains these requests:
The following command is issued:ver io_s fs_io_s rhist off
The output (sent to stdout) is similar to the following example output:mmpmon -i infile -r 10 -d 5000
mmpmon node 192.168.1.8 name node1 version 3.1.0 mmpmon node 192.168.1.8 name node1 io_s OK timestamp: 1083350358/935524 bytes read: 0 bytes written: 0 opens: 0 closes: 0 reads: 0 writes: 0 readdir: 0 inode updates: 0 mmpmon node 192.168.1.8 name node1 fs_io_s status 1 no file systems mounted mmpmon node 192.168.1.8 name node1 rhist off OK
The requests in the input file are run 10 times, with a delay of 5000 milliseconds (5 seconds) between invocations.
- This example uses the same parameters as the previous example,
but with the -p flag:
The output (sent to stdout) is similar to the following example output:mmpmon -i infile -p -r 10 -d 5000
_ver_ _n_ 192.168.1.8 _nn_ node1 _v_ 2 _lv_ 3 _vt_ 0 _io_s_ _n_ 192.168.1.8 _nn_ node1 _rc_ 0 _t_ 1084195701 _tu_ 350714 _br_ 0 _bw_ 0 _oc_ 0 _cc_ 0 _rdc_ 0 _wc_ 0 _dir_ 0 _iu_ 0 _fs_io_s_ _n_ 192.168.1.8 _nn_ node1 _rc_ 1 _t_ 1084195701 _tu_ 364489 _cl_ - _fs_ -_rhist_ _n_ 192.168.1.8 _nn_ node1 _req_ off _rc_ 0 _t_ 1084195701 _tu_ 378217
- This example uses the fs_io_s option
with a mounted file system:
mmpmon node 198.168.1.8 name node1 fs_io_s OK cluster: node1.localdomain filesystem: gpfs1 disks: 1 timestamp: 1093352136/799285 bytes read: 52428800 bytes written: 87031808 opens: 6 closes: 4 reads: 51 writes: 83 readdir: 0 inode updates: 11 mmpmon node 198.168.1.8 name node1 fs_io_s OK cluster: node1.localdomain filesystem: gpfs2 disks: 2 timestamp: 1093352136/799285 bytes read: 87031808 bytes written: 52428800 opens: 4 closes: 3 reads: 12834 writes: 50 readdir: 0 inode updates: 9
- This example is the same as the previous one, but with the -p flag:
This output consists of two strings._fs_io_s_ _n_ 198.168.1.8 _nn_ node1 _rc_ 0 _t_ 1093352061 _tu_ 93867 _cl_ node1.localdomain _fs_ gpfs1 _d_ 1 _br_ 52428800 _bw_ 87031808 _oc_ 6 _cc_ 4 _rdc_ 51 _wc_ 83 _dir_ 0 _iu_ 10 _fs_io_s_ _n_ 198.168.1.8 _nn_ node1 _rc_ 0 _t_ 1093352061 _tu_ 93867 _cl_ node1.localdomain _fs_ gpfs2 _d_ 2 _br_ 87031808 _bw_ 52428800 _oc_ 4 _cc_ 3 _rdc_ 12834 _wc_ 50 _dir_ 0 _iu_ 8
- This example uses the io_s option with
a mounted file system:
mmpmon node 198.168.1.8 name node1 io_s OK timestamp: 1093351951/587570 bytes read: 139460608 bytes written: 139460608 opens: 10 closes: 7 reads: 12885 writes: 133 readdir: 0 inode updates: 14
- This example is the same as the previous one, but with the -p flag:
This output consists of one string._io_s_ _n_ 198.168.1.8 _nn_ node1 _rc_ 0 _t_ 1093351982 _tu_ 356420 _br_ 139460608 _bw_ 139460608 _oc_ 10 _cc_ 7 _rdc_ 0 _wc_ 133 _dir_ 0 _iu_ 14
- This example uses an loc_io_s option to
display the total size of local read data without
filter.
mmpmon node 192.168.116.106 name localhost loc_io_s OK cluster: sncfs.gpfs.net filesystem: * pool: * timestamp: 1494238949/181786 bytes read: 24158208 local bytes read: 9236480 bytes written: 65536 local bytes written: 32768 reads: 1914 local reads: 714 writes: 16 local writes: 8
- This example is same as the previous one, but with f fs
sncfs p datapool
filters.
mmpmon node 192.168.116.106 name localhost loc_io_s OK cluster: sncfs.gpfs.net filesystem: sncfs pool: datapool timestamp: 1494238956/323617 bytes read: 114688 local bytes read: 59392 bytes written: 0 local bytes written: 0 reads: 27 local reads: 14 writes: 0 local writes: 0
Location
/usr/lpp/mmfs/bin