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
- A maintenance class for I/O-intensive, potentially long-running GPFS™ commands.
- An other class for all other processes.
- 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 residual pools. Residual 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 in the IBM Spectrum Scale: Administration and Programming Reference.
Analyzing the output from mmlsqos
# mmlsqos fs0 --seconds 30
QOS cfg:: enabled -- pool=system,other=inf,maintenance=400Iops
QOS status:: throttling active, monitoring active
=== for pool system
15:14:45 other iops=314.4 ioql=4.3 qsdl=0.0 et=5
15:14:45 maint iops=215.2 ioql=3.2 qsdl=0.0 et=5
15:14:50 other iops=308.8 ioql=4.1 qsdl=0.0 et=5
15:14:50 maint iops=263.2 ioql=3.7 qsdl=0.0 et=5
15:14:55 other iops=281.8 ioql=4.0 qsdl=0.0 et=5
15:14:55 maint iops=274.8 ioql=3.9 qsdl=0.0 et=5
15:15:00 other iops=267.0 ioql=4.0 qsdl=0.0 et=5
15:15:00 maint iops=268.4 ioql=3.9 qsdl=0.0 et=5
15:15:05 other iops=256.8 ioql=4.0 qsdl=0.0 et=5
15:15:05 maint iops=252.4 ioql=3.9 qsdl=0.0 et=5
15:15:10 other iops=245.4 ioql=4.0 qsdl=0.0 et=5
15:15:10 maint iops=263.6 ioql=3.9 qsdl=0.0 et=5
- 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