mmlsqos command
Displays the I/O performance values of a file system, when you enable Quality of Service for I/O operations (QoS) with the mmchqos command.
Synopsis
mmlsqos Device
[--pool {all | Pool}]
[--seconds Seconds]
[--sum-classes {yes | no}]
[--sum-nodes {yes | no}]
Availability
Available on all IBM Spectrum Scale™ editions.
Description
- maintenance
- The default QoS class for some I/O intensive, potentially long-running GPFS™ commands, such as mmbackup, mmrestore
- other
- The default QoS class for all other processes.
A third class, misc, is used to count the IOPS that some critical file system processes consume. You cannot assign IOPS to this class, but its count of IOPS is displayed in the output of the mmlsqos command.
- Allocations persist across unmounting and remounting the file system.
- QoS stops applying allocations when you unmount the file system and resumes when you remount it.
- When you change allocations or mount the file system, a brief delay due to reconfiguration occurs before QoS starts applying allocations.
When the file system is mounted, the command displays information about the QoS classes of both explicitly named pools and unnamed pools. Unnamed pools are storage pools that you have not specified by name in any mmchqos command. When the file system is unmounted, the command displays information about only the QoS classes of explicitly named pools.
Parameters
- Device
- The device name of the file system to which the QoS action applies.
- --pool
- Display the I/O performance values for all QoS pools if all is specified, or for the named pool if a pool name is specified. The default is all.
- --seconds
- Display the I/O performance values for the previous number of seconds. The valid range of seconds is 1-999. The default value is 60 seconds. The values are displayed for subperiods within the period that you specify. The subperiods might be every 5 seconds over the last 60 seconds, or every 60 seconds over the last 600 seconds. You cannot configure the number or length of subperiods.
- --sum-classes
- Display the I/O performance for each QoS class separately if no is specified, or summed across all the QoS classes if yes is specified. The default is no.
- --sum-nodes
- If yes is specified, display the I/O performance summed across all the nodes in the cluster. If no is specified, display the I/O performance for each node separately. The default is yes.
Exit status
- 0
- Successful completion.
- Nonzero
- A failure occurred.
Security
You must have root authority to run the mmlsqos command.
The node on which you enter the command must be able to execute remote shell commands on any other administration node in the cluster. It must be able to do so without the use of a password and without producing any extraneous messages. For more information, see Requirements for administering a GPFS file system.
Analyzing the output from mmlsqos
- QOS config::
- Indicates whether QoS is actively regulating I/O consumption (enabled) or is quiescent (disabled).
- QOS values::
- Displays, for each storage pool that you configured, the name of the storage pool and the IOPS
that you assigned to the other class and the
maintenance class. In the following example fragment, the command shows
that the system storage pool is configured with the value of inf for both
QoS
classes:
The qualifier /all_local after maintenance indicates that the maintenance IOPS are applied to all the files systems owned by the cluster. This value is the default for the maintenance class.QOS values:: pool=system,other=inf,maintenance/all_local=inf
- QOS status::
- Indicates whether QoS is regulating the consumption of IOPS ("throttling") and also whether QoS is recording ("monitoring") the consumption of IOPS of each storage pool.
# mmlsqos fs --seconds 30
QOS config:: enabled
QOS values:: pool=system,other=inf,maintenance/all_local=inf:pool=fpodata,other=inf,maintenance/all_local=inf
QOS status:: throttling active, monitoring active
=== for pool fpodata
01:31:45 misc iops=11 ioql=0.016539 qsdl=1.2e-06 et=5
=== for pool system
01:31:45 misc iops=8.2 ioql=0.013774 qsdl=2e-06 et=5
The
command mmlsqos fs0 --seconds 30 requests a display of I/O performance values for
all QoS pools over the previous 30 seconds.
Because the parameters --sum_classes and
--sum_nodes are missing, the command also requests I/O performance for
each storage pool separately and summed across all the nodes of the cluster.The information that is displayed for the two configured pools, fpodata and system, indicates that IOPS occurred only for processes in the misc class. The meaning of the categories in each line is as follows:
- First column
- The time when the measurement period ends.
- Second column
- The QoS class for which the measurement is made.
- iops=
- The performance of the class in I/O operations per second.
- ioql=
- The average number of I/O requests in the class that are pending for reasons other than being queued by QoS. This number includes, for example, I/O requests that are waiting for network or storage device servicing.
- qsdl=
- The average number of I/O requests in the class that are queued by QoS. When the QoS system receives an I/O request from the file system, QoS first finds the class to which the I/O request belongs. It then finds whether the class has any I/O operations available for consumption. If not, then QoS queues the request until more I/O operations become available for the class. The Qsdl value is the average number of I/O requests that are held in this queue.
- et=
- The interval in seconds during which the measurement was made.
You can calculate the average service time for an I/O operation as (Ioql + Qsdl)/Iops. For a system that is running IO-intensive applications, you can interpret the value (Ioql + Qsdl) as the number of threads in the I/O-intensive applications. This interpretation assumes that each thread spends most of its time in waiting for an I/O operation to complete.
Examples
- The following command displays the I/O performance values for
all the pools in the file system over the previous 60 seconds. It
does so for each QoS class
separately and summed across all the nodes in the cluster.
mmlsqos fs0 --seconds 60
- The following command displays the I/O performance values for
the named pool over the previous 60 seconds. It does so for each QoS class
separately and for each node separately.
mmlsqos fs0 --pool pname0 --sum-nodes no