mmperfmon command
Configures the Performance Monitoring tool and lists the performance metrics.
Synopsis
mmperfmon config generate --collectors CollectorNode[,CollectorNode...]
[ --config-file InputFile ]
or
mmperfmon config add --sensors SensorFile
or
mmperfmon config add --apikey key_name
or
mmperfmon config update { [--collectors CollectorNode[,CollectorNode...] ]
[ --config-file InputFile ] [ Attribute=value ... ] }
or
mmperfmon config update --apikey key_name
or
mmperfmon config delete {--all |--sensors Sensor[,Sensor...] }
or
mmperfmon config delete --apikey key_name
or
mmperfmon config show [--config-file OutputFile]
or
mmperfmon config show --apikey [key_name | all]
or
mmperfmon query Metric[,Metric...] | Key[,Key...] | NamedQuery
[StartTime EndTime | Duration] [Options]
or
mmperfmon query compareNodes ComparisonMetric [StartTime EndTime | Duration] [Options]
or
mmperfmon report top [StartTime EndTime | Duration][Options]
or
mmperfmon delete {--expiredKeys |--key Key[,Key...]}
Availability
Available on all IBM Spectrum Scale editions.
The protocol functions provided in this command, or any similar command, are generally referred to as CES (Cluster Export Services). For example, protocol node and CES node are functionally equivalent terms.
Description
The mmperfmon config command modifies the performance monitoring tool by updating the configuration that is stored in IBM Spectrum Scale. It can be used to generate an initial configuration to update reporting periods of different sensors, or to restrict sensors to a defined set of nodes.
The mmperfmon config command is used to query metrics in a cluster from the performance metrics collector. Output can be delivered either in a raw format, formatted table layout or as a CSV export.
In addition to metrics known by the performance collector, the mmperfmon config command can also run predefined named queries or use predefined computed metrics. You can specify a bucket size for each record to return in number of seconds and the number of buckets to retrieve. You can also specify the duration or a time range for which the query can run.
When the performance monitoring tool is being used in a container environment, the transient network interfaces and file system mount points can increase the amount of metadata or keys within the tool and slowdown the metric queries. To prevent this issue, use the filter attribute of the Network and Disk Free sensors. Usage of the mmperfmon command to set the filter conditions is shown in Example 5.
Parameters
- config
-
- generate
- Generates the configuration of the performance monitoring tool.Note: After the configuration is generated, do not forget to turn on monitoring through the mmchnode command.
--collectors CollectorNode[,CollectorNode...] specifies the set of collectors to which the sensors report their performance measurements. The number of collectors that each sensor reports to can be specified through colRedundancy parameter in the template sensor configuration file (see --config-file). Federated collectors are automatically configured between these collectors. For more information, see Configuring multiple collectors
--config-file InputFile specifies the template sensor configuration file to use. If this option is not provided, the /opt/IBM/zimon/defaults/ZIMonSensors.cfg file is used.
- add
- Adds a new sensor to the performance monitoring tool.--sensors SensorFile adds the sensors that are specified in SensorFile to the sensor configuration. Multiple sensors in the configuration file need to be separated by a comma. Following is a sample SensorFile:
The generic sensor and a sensor-specific configuration file need to be installed on all the nodes where the generic sensor is to be activated.sensors = { name = "MySensor" # sensor disabled by default period = 0 type = "Generic" }
--apikey key_name creates an API key entry for a specifickey_name
, and stores the information in CCR, so that all the cluster nodes are aware of it. If thekey_name
already exists, an error message is displayed.Note: The--apikey
flag is mutually exclusive with other flags. The default API key scale_default is system-defined, and is generated automatically. - update
- Updates the existing configuration.
--collectors CollectorNode[,CollectorNode...] updates the collectors to be used by the sensors and for federation (see config generate for details).
--config-file InputFile specifies a template sensor configuration file to use. This file overwrites the currently used configuration with the configuration that is specified in InputFile.
Attribute=value ... specifies a list of attribute value assignments. This sets the value of attribute Attribute to value. Attribute is a combination of a sensor name and one of its parameters that are separated by a dot as shown: <sensor>.<parameter>. For example,
CPU.period
.The following attributes are supported:- <sensor>.period
- Specifies the seconds between each invocation of the sensor. This parameter is supported for all sensors.
- <sensor>.restrict
- Specifies a node or node class. The invocation of the sensor is limited to the nodes specified. This parameter is supported for all sensors.
- <sensor>.filter
- Specifies a sensor-specific element to be ignored when the sensor retrieves data. This parameter is supported for sensors Network and DiskFree.
--apikey key_name updates an existing key entry for a givenkey_name
, and stores the information in CCR. A new key value is generated and replaces the previous one. If the key_name does not exist, then an error message is displayed.Note: The--apikey
flag is mutually exclusive with other flags. - delete
- Removes configuration of the performance monitoring tool or the specified
sensors.
--sensors Sensor[,Sensor...] removes the sensors with the specified names from the performance monitoring configuration.
--all removes the entire performance monitoring configuration from IBM Spectrum Scale.
--apikey key_name deletes an existing key entry for a givenkey_name
, and stores the information in CCR. If the key_name does not exist, an error message is displayed.Note: The--apikey
flag is mutually exclusive with other flags. The default API key scale_default is system-defined, and cannot be deleted. - show
- Displays the currently active performance monitoring configuration. Specifies the following
options:
--config-file OutputFile specifies that the output is saved to the OutputFile.
--apikey key_name shows existing key entries. Ifkey_name
is specified, then only the corresponding data is shown. If the key_name does not exist, then an error message is shown. If no argument orall
is given, then all entries are displayed.Note: The--apikey
flag is mutually exclusive with other flags.
- query
-
Metric[,Metric...] specifies a comma-separated list of metrics for displaying in the output.
Key[,Key...] specifies a key that can consist of a node name, sensor group, or optional filters, and metrics that are separated by the pipe symbol (|). For example,"cluster1.ibm.com|CTDBStats|locking|db_hop_count_bucket_00"
NamedQuery specifies the name of a predefined query.
compareNodes compares the specified metrics for all nodes in the system. The query creates one column per existing node and only one metric can be compared.
ComparisonMetric specifies the name of the metric to be compared when using the compareNodes query.
StartTime specifies the start timestamp for query in the YYYY-MM-DD-hh:mm:ss format.
EndTime specifies the end timestamp for query in the YYYY-MM-DD-hh:mm:ss format. If it is not specified, the query returns results until the present time.
Duration specifies the number of seconds into the past from present time or EndTime.
Options specifies the following options:- -N or --Node NODENAME specifies the node from where the metrics are
retrieved.
For general information on how to specify node names, see Specifying nodes as input to GPFS commands.
- --bucket-size BUCKET_SIZE specifies the bucket size (number of seconds), default is 1.
- --number-buckets NUMBER_BUCKETS specifies the number of buckets (records) to display, default is 10.
- --filter FILTER specifies the filter criteria for the query to run. To see the list of filters in the node use the mmperfmon query --list filters command.
- --format FORMAT specifies a common format for all columns.
- --csv provides the output in the CSV format.
- --raw provides the output in a raw format rather than a tabular format.
- --short displays the column names in a short form when there are too many to fit into a row.
- --nice displays the column headers in the output in a bold and underlined typeface.
- --resolve displays the resolved computed metrics and metrics that are used.
- --list {computed | metrics | keys | filters | queries | expiredKeys | all} lists the following information:
- computed displays the computed metrics.
- metrics displays the metrics.
- keys lists the keys.
- filters lists the filters.
- queries lists the available predefined queries.
- expiredKeys lists the group keys for the entities that do not return any metrics values within the default retention period of 14 days.
- all displays the computed metrics, metrics, keys, filters, and queries.
- -N or --Node NODENAME specifies the node from where the metrics are
retrieved.
- report
-
Returns a report.
- delete
- Removes expired keys from the performance monitoring tool database.
Exit status
- 0
- Successful completion.
- 1
- Invalid arguments given
- 2
- Invalid option
- 3
- No node found with a running performance collector
- 4
- Performance collector backend signaled bad query, for example, no data for this query.
Security
You must have root authority to run the mmperfmon command.
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. The performance monitoring tool uses the GPFS™ cluster daemon node names and network to communicate between nodes. For more information, see Requirements for administering a GPFS file system.
Examples
- To generate configuration for the c89f8v03 collector node, issue the following
command:
A sample output is as follows:# mmperfmon config generate --collectors c89f8v03
mmperfmon: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process. Tue Oct 27 20:40:07 EDT 2015: mmcommon pushSdr_async: mmsdrfs propagation started
- To add /tmp/SensorFile sensor to the performance monitoring tool, issue the
following command:
A sample output is as follows:# mmperfmon config add --sensors /tmp/SensorFile
mmperfmon: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process. Tue Oct 27 20:44:33 EDT 2015: mmcommon pushSdr_async: mmsdrfs propagation started # mmperfmon config show | tail -12 { name = "NFSIO" period = 0 proxyCmd = "/opt/IBM/zimon/GaneshaProxy" restrict = "cesNodes" type = "Generic" }, { name = "TestAdd" period = 4 } smbstat = ""
- To create a new API key for the following cases:
- If no keys are defined yet, then issue the following
command:
A sample output is as follows:# mmperfmon config add --apikey scale_default
File _perfmon.keys does not exist in CCR Create a new empty API key Json file to be uploaded to CCR API key file _perfmon.keys successfully uploaded to CCR [root@gpfs-21 ~]# [root@gpfs-21 ~]# mmperfmon config show --apikey scale_default { "key": "aedc2798-e2b0-4cda-8f12-da1e778c1504", "comment": "user comment" } [root@gpfs-21 ~]#
- If keys are already defined, then issue the following
command:
A sample output is as follows:# mmperfmon config add --apikey scale_user1
API key file _perfmon.keys successfully uploaded to CCR [root@node-11 ~]#
- If no keys are defined yet, then issue the following
command:
- To update the NFSIO.period value to 5, issue the following
command:
A sample output is as follows:# mmperfmon config update NFSIO.period=5
mmperfmon: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process. Tue Oct 27 20:47:53 EDT 2015: mmcommon pushSdr_async: mmsdrfs propagation started # mmperfmon config show | tail -9 }, { name = "NFSIO" period = 5 proxyCmd = "/opt/IBM/zimon/GaneshaProxy" restrict = "cesNodes" type = "Generic" } smbstat = ""
- To update the Network.filter value to ignore multiple
network interfaces, issue the following
command:
A sample output is as follows:# mmperfmon config update Network.filter="netdev_name=veth.*|docker.*|flannel.*|cali.*|cbr.*"
mmperfmon: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process. Tue Jun 23 17:25:45 CEST 2020: mmcommon pushSdr_async: mmsdrfs propagation started Tue Jun 23 17:25:51 CEST 2020: mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0
- To update an API key value, issue the following
command:
A sample output is as follows:# mmperfmon config update --apikey animal
API key file _perfmon.keys successfully uploaded to CCR [root@gpfs-21 ~]#
- To remove the TestAdd sensor, issue the following command:
A sample output is as follows:# mmperfmon config delete --sensors TestAdd
mmperfmon: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process. Tue Oct 27 20:46:23 EDT 2015: mmcommon pushSdr_async: mmsdrfs propagation started Tue Oct 27 20:46:28 EDT 2015: mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0 # mmperfmon config show | tail -12 { name = "GPFSDiskCap" period = 0 }, { name = "NFSIO" period = 0 proxyCmd = "/opt/IBM/zimon/GaneshaProxy" restrict = "cesNodes" type = "Generic" } smbstat = ""
- To display the currently active performance monitoring configuration, issue the following
command:
A sample output is as follows:# mmperfmon config show
cephMon = "/opt/IBM/zimon/CephMonProxy" cephRados = "/opt/IBM/zimon/CephRadosProxy" colCandidates = "c89f8v03" colRedundancy = 1 collectors = { host = "" port = "4739" } config = "/opt/IBM/zimon/ZIMonSensors.cfg" ctdbstat = "" daemonize = T hostname = "" ipfixinterface = "0.0.0.0" logfile = "/var/log/zimon/ZIMonSensors.log" loglevel = "info" mmcmd = "/opt/IBM/zimon/MMCmdProxy" mmdfcmd = "/opt/IBM/zimon/MMDFProxy" mmpmon = "/opt/IBM/zimon/MmpmonSockProxy" piddir = "/var/run" release = "4.2.0-0" sensors = { name = "CPU" period = 1 }, { name = "Load" period = 1 }, { name = "Memory" period = 1 }, { name = "Network" period = 1 }, { name = "Netstat" period = 0 }, { name = "Diskstat" period = 0 }, { name = "DiskFree" period = 600 }, { name = "GPFSDisk" period = 0 }, { name = "GPFSFilesystem" period = 1 }, { name = "GPFSNSDDisk" period = 1 restrict = "nsdNodes" }, { name = "GPFSPoolIO" period = 0 }, { name = "GPFSVFS" period = 1 }, { name = "GPFSIOC" period = 0 }, { name = "GPFSVIO" period = 0 }, { name = "GPFSPDDisk" period = 1 restrict = "nsdNodes" }, { name = "GPFSvFLUSH" period = 0 }, { name = "GPFSNode" period = 1 }, { name = "GPFSNodeAPI" period = 1 }, { name = "GPFSFilesystemAPI" period = 1 }, { name = "GPFSLROC" period = 0 }, { name = "GPFSCHMS" period = 0 }, { name = "GPFSAFM" period = 0 }, { name = "GPFSAFMFS" period = 0 }, { name = "GPFSAFMFSET" period = 0 }, { name = "GPFSRPCS" period = 0 }, { name = "GPFSFilesetQuota" period = 3600 }, { name = "GPFSDiskCap" period = 0 }, { name = "NFSIO" period = 0 proxyCmd = "/opt/IBM/zimon/GaneshaProxy" restrict = "cesNodes" type = "Generic" }, { name = "SwiftAccount" period = 1 restrict = "cesNodes" type = "generic" }, { name = "SwiftContainer" period = 1 restrict = "cesNodes" type = "generic" }, { name = "SwiftObject" period = 1 restrict = "cesNodes" type = "generic" }, { name = "SwiftProxy" period = 1 restrict = "cesNodes" type = "generic" } smbstat = ""
- To show all the API key values, issue the following
command:
A sample output is as follows:# mmperfmon config show --apikey all
{ "scale_default": { "key": "aedc2798-e2b0-4cda-8f12-da1e778c1504", "comment": "user comment" }, "forrest": { "key": "c07abeb9-b137-4074-95c7-e49eaf92dfce", "comment": "user comment" }, "buttermilk": { "key": "f2f08be9-c743-4626-bde2-99e05502732c", "comment": "user comment" }, "honey": { "key": "7d54d052-2600-405c-b316-8b36a88b95ce", "comment": "user comment" }, "animal": { "key": "ab2e3a71-d869-4e4e-a690-68de58ecbc6e", "comment": "user comment" } } [root@gpfs-21 ~]#
- To list metrics by key, for given node, sensor group and metrics, issue the following command:
A sample output is as follows:# mmperfmon query "cluster1.ibm.com|CTDBDBStats|locking|db_hop_count_bucket_00"
Row Timestamp db_hop_count_bucket_00 1 2015-04-08-12:54:53 0 2 2015-04-08-12:54:54 0 3 2015-04-08-12:54:55 0 4 2015-04-08-12:54:56 0 5 2015-04-08-12:54:57 0 6 2015-04-08-12:54:58 0 7 2015-04-08-12:54:59 0 8 2015-04-08-12:55:00 0 9 2015-04-08-12:55:01 0 10 2015-04-08-12:55:02 0
- To list the two metrics
nfs_read_lat
andnfs_write_lat
for a specific time range, filtered by an export and NFS version with 60 seconds buckets (one record represents 60 seconds), issue the following command:
A sample output is as follows:# mmperfmon query nfs_read_lat,nfs_write_lat 2014-12-19-11:15:00 2014-12-19-11:20:00 --filter export=/ibm/gpfs/nfsexport,nfs_ver=NFSv3 -b 60
Row Timestamp nfs_read_lat nfs_write_lat 1 2015-04-10-09:24:00 0 0 2 2015-04-10-09:24:10 0 0 3 2015-04-10-09:24:20 0 0 4 2015-04-10-09:24:30 0 0 5 2015-04-10-09:24:40 0 0 6 2015-04-10-09:24:50 0 0 7 2015-04-10-09:25:00 0 0 8 2015-04-10-09:25:10 0 0 9 2015-04-10-09:25:20 0 0 10 2015-04-10-09:25:30 0 0 11 2015-04-10-09:25:40 0 0 12 2015-04-10-09:25:50 45025738 1882453623 13 2015-04-10-09:26:00 0 0 14 2015-04-10-09:26:10 0 0 15 2015-04-10-09:26:20 0 0 16 2015-04-10-09:26:30 0 0 17 2015-04-10-09:26:40 0 0 18 2015-04-10-09:26:50 0 0
- To list all available filters, issue the following
command:
A sample output is as follows:# mmperfmon query --list filters
Available Filters: node gpfs-21.localnet.com gpfs-22.localnet.com protocol smb2 db_name account_policy autorid brlock ctdb dbwrap_watchers g_lock group_mapping leases locking netlogon_creds_cli notify_index passdb registry secrets serverid share_info smbXsrv_open_global smbXsrv_session_global smbXsrv_tcon_global smbXsrv_version_global gpfs_fs_name fs0 gpfs0 gpfs_cluster_name gpfs-cluster-2.localnet.com mountPoint / /boot /dev /dev/shm /gpfs/fs0 /mnt/gpfs0 /run /sys/fs/cgroup operation break cancel close create find flush getinfo ioctl keepalive lock logoff negprot notify read sesssetup setinfo tcon tdis write sensor CPU CTDBDBStats CTDBStats DiskFree GPFSFilesystemAPI GPFSVFS Load Memory Network SMBGlobalStats SMBStats netdev_name eth0 lo
- To run a named query for export /ibm/gpfs/nfsexport and nfs_ver
NFSv3, using default bucket size of 1 second, showing last 10 buckets, issue the
following
command:
A sample output is as follows:# mmperfmon query nfsIORate --filter export=/ibm/gpfs/nfsexport,nfs_ver=NFSv3,node=cluster1.ibm.com
Legend: 1: cluster1.ibm.com|NFSIO|/ibm/gpfs/nfsexport|NFSv3|nfs_read_ops 2: cluster2.ibm.com|NFSIO|/ibm/gpfs/nfsexport|NFSv3|nfs_write_ops Row Timestamp nfs_read_ops nfs_write_ops 1 2015-05-11-13:32:57 0 0 2 2015-05-11-13:32:58 90 90 3 2015-05-11-13:32:59 90 90 4 2015-05-11-13:33:00 90 91 5 2015-05-11-13:33:01 91 90 6 2015-05-11-13:33:02 91 92 7 2015-05-11-13:33:03 89 88 8 2015-05-11-13:33:04 91 92 9 2015-05-11-13:33:05 93 92 10 2015-05-11-13:33:06 89 89
- To run a named query for export /ibm/gpfs/nfsexport and nfs_ver
NFSv3, using bucket size of 1 minute, showing last 20 buckets (= 20 minutes), issue the
following
command:
A sample output is as follows:# mmperfmon query nfsIORate --filter export=/ibm/gpfs/nfsexport,nfs_ver=NFSv3,node=cluster1.ibm.com -n 20 -b 60
Legend: 1: cluster1.ibm.com|NFSIO|/ibm/gpfs/nfsexport|NFSv3|nfs_read_ops 2: cluster2.ibm.com|NFSIO|/ibm/gpfs/nfsexport|NFSv3|nfs_write_ops Row Timestamp nfs_read_ops nfs_write_ops 1 2015-05-11-13:31:00 0 0 2 2015-05-11-13:32:00 280 280 3 2015-05-11-13:33:00 820 820 4 2015-05-11-13:34:00 0 0 5 2015-05-11-13:35:00 0 0 6 2015-05-11-13:36:00 0 0 7 2015-05-11-13:37:00 0 0 8 2015-05-11-13:38:00 0 0 9 2015-05-11-13:39:00 1000 1000 10 2015-05-11-13:40:00 1000 1000 11 2015-05-11-13:41:00 0 0 12 2015-05-11-13:42:00 0 0 13 2015-05-11-13:43:00 0 0 14 2015-05-11-13:44:00 2000 2000 15 2015-05-11-13:45:00 0 0 16 2015-05-11-13:46:00 0 0 17 2015-05-11-13:47:00 1000 1000 18 2015-05-11-13:48:00 1000 1000 19 2015-05-11-13:49:00 0 0 20 2015-05-11-13:50:00 0 0
- To run a compareNodes query for the cpu_user metric,
issue the following command:
A sample output is as follows:# mmperfmon query compareNodes cpu_user
Legend: 1: cluster1.ibm.com|CPU|cpu_user 2: cluster2.ibm.com|CPU|cpu_user Row Timestamp cluster1 cluster2 1 2015-05-11-13:53:54 0.5 0.25 2 2015-05-11-13:53:55 0.5 0.25 3 2015-05-11-13:53:56 0.25 0.25 4 2015-05-11-13:53:57 0.5 0.25 5 2015-05-11-13:53:58 0.25 0.75 6 2015-05-11-13:53:59 0.5 0.25 7 2015-05-11-13:54:00 0.25 0.25 8 2015-05-11-13:54:01 0.5 0.25 9 2015-05-11-13:54:02 0.25 0.25 10 2015-05-11-13:54:03 0.5 0.25
- To run an object query, issue the following
command:
A sample output is as follows:# mmperfmon query objObj 2016-09-28-09:56:39 2016-09-28-09:56:43
1: cluster1.ibm.com|SwiftObject|object_auditor_time 2: cluster1.ibm.com|SwiftObject|object_expirer_time 3: cluster1.ibm.com|SwiftObject|object_replication_partition_delete_time 4: cluster1.ibm.com|SwiftObject|object_replication_partition_update_time 5: cluster1.ibm.com|SwiftObject|object_DEL_time 6: cluster1.ibm.com|SwiftObject|object_DEL_err_time 7: cluster1.ibm.com|SwiftObject|object_GET_time 8: cluster1.ibm.com|SwiftObject|object_GET_err_time 9: cluster1.ibm.com|SwiftObject|object_HEAD_time 10: cluster1.ibm.com|SwiftObject|object_HEAD_err_time 11: cluster1.ibm.com|SwiftObject|object_POST_time 12: cluster1.ibm.com|SwiftObject|object_POST_err_time 13: cluster1.ibm.com|SwiftObject|object_PUT_time 14: cluster1.ibm.com|SwiftObject|object_PUT_err_time 15: cluster1.ibm.com|SwiftObject|object_REPLICATE_time 16: cluster1.ibm.com|SwiftObject|object_REPLICATE_err_time 17: cluster1.ibm.com|SwiftObject|object_updater_time Row object_auditor_time object_expirer_time object_replication_partition_delete_time object_replication_partition_update_time object_DEL_time object_DEL_err_time object_GET_time object_GET_err_time object_HEAD_time object_HEAD_err_time object_POST_time object_POST_err_time object_PUT_time object_PUT_err_time object_REPLICATE_time object_REPLICATE_err_time object_updater_time 1 2016-09-28 09:56:39 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.855923 0.000000 0.000000 0.000000 45.337915 0.000000 0.000000 0.000000 0.000000 2 2016-09-28 09:56:40 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 3 2016-09-28 09:56:41 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.931925 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 4 2016-09-28 09:56:42 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.855923 0.000000 0.000000 0.000000 516.280890 0.000000 0.000000 0.000000 0.000000 object_DEL_total_time = 0.0 object_PUT_total_time = 561.618805 object_GET_total_time = 0.0 object_POST_total_time = 0.0 object_HEAD_total_time = 1.786948 object_PUT_max_time = 516.28089 object_POST_max_time = 0.0 object_GET_max_time = 0.0 object_HEAD_max_time = 0.931025 object_DEL_max_time = 0.0 object_GET_avg_time = 0.0 object_DEL_avg_time = 0.0 object_PUT_avg_time = 280.809402 object_POST_avg_time = 0.0 object_HEAD_avg_time = 0.893474 object_DEL_time_count = 0.0 object_POST_time_count = 0 object_PUT_time_count = 2 object_HEAD_time_count = 2 object_GET_time_count = 0 object_DEL_min_time = 0.0 object_PUT_min_time = 45.337915 object_GET_min_time = 0.0 object_POST_min_time = 0.0 object_HEAD_min_time = 0.855923
- To view expired keys, issue the following command:
A sample output is as follows:# mmperfmon query –list=expiredKeys
Found expired keys: test_nodename|GPFSFilesystem|gpfsgui-cluster-2.novalocal|fs1 test_nodename|GPFSFilesystem|gpfsgui-cluster-2.novalocal|fs2 test_nodename|GPFSFilesystemAPI|gpfsgui-cluster-2.novalocal|fs2 test_nodename|GPFSFilesystemAPI|gpfsgui-cluster-2.novalocal|fs1 test_nodename|GPFSFilesystem|gpfsgui-cluster-2.novalocal|gpfs0 test_nodename|DiskFree|/mnt/gpfs0 test_nodename|Netstat test_nodename|GPFSFilesystem|gpfsgui-cluster-2.novalocal|objfs test_nodename|GPFSVFS test_nodename|GPFSNode test_nodename|GPFSFilesystemAPI|gpfsgui-cluster-2.novalocal|gpfs0 test_nodename|GPFSFilesystemAPI|gpfsgui-cluster-2.novalocal|objfs test_nodename|DiskFree|/gpfs/fs2 test_nodename|DiskFree|/gpfs/fs1 test_nodename|GPFSRPCS test_nodename|CPU test_nodename|GPFSNodeAPI test_nodename|Load test_nodename|DiskFree|/mnt/objfs test_nodename|Memory
- To delete expired key, issue the following
command:
A sample output is as follows:# mmperfmon delete –key ‘test_nodename|DiskFree|/mnt/gpfs0‘
Check expired keys completed. Successfully 3 keys deleted.
- To list a CPU report, issue the following
command:
A sample output is as follows:# mmperfmon report top --bucket-size 60 --number-buckets 1
[root@node-11 ~]# mmperfmon report top --bucket-size 60 --number-buckets 1 Top values in format: {process name | PID} {cpu per mil} {memory per mil} Time node-11.localnet.com 2020-04-03-17:11:00 11684 33 12 9205 23 302 26331 9 0 27671 9 1 1 3 2 9 3 0 386 1 0 707 1 0 1012 1 5 1016 1 2 [root@node-11 ~]#
See also
- mmdumpperfdata command
Location
/usr/lpp/mmfs/bin