Workload Manager limits File

Purpose

Describes the minimum and maximum limits for the resources allocated to superclasses or subclasses of a WLM configuration.

Description

The limits file in the /etc/wlm/Config describes the resource limits for the superclasses of the WLM configuration Config. If the superclass Super of this configuration has subclasses defined, the resource limits for the subclasses are defined in the file /etc/wlm/Config/Super/limits.

The limits at the superclass level represent a percentage of the total amount of resources available on the system and the limits at the subclass level represent a percentage of the resource made available to the parent superclass. Despite this difference, the description of resource limits is relevant to both a superclass and a subclass.

The limits file is organized into stanzas that are named after WLM classes and contain attribute-value pairs specifying the minimum and maximum resource limit allocated to the class for the various resources. The attribute names identify the resource. For each resource, the following values must be provided:

The limits are expressed as percentages. Both the minimum and maximum limits are each a number between 0 and 100. The hard maximum must be greater than or equal to the soft maximum, which in turn must be greater than or equal to the minimum. When the limits are not specified for a class or a resource type, the system defaults to 0 for the minimum and 100 for both the soft and hard maximum.

Use the following format for defining the limit values:
attribute_name = m%-SM%,HM%
In AIX® 5.2 and later, you can also specify per-process and per-class total limits. These are hard limits and can be specified in the following format:
attribute_name = <value> [unit]
The valid range of values for each attribute, as well as their default and allowed units are described in AIX Version 7.1 Operating system and device management.

Attributes

Each stanza names a WLM class that must exist in the classes file at the corresponding level (superclass or subclass).

The following attributes are defined in the limits file:
Item Description
CPU Represents the CPU limits for the class
memory Represents the physical memory limits for the class
diskIO Represents the disk I/O limits for the class
totalConnectTime The maximum amount of time a login session in the class can stay active. This is specified as an integer with the units intended (s for seconds, m for minutes, h for hours, d for days, and w for weeks). As a user approaches this connection time limit, WLM will send warning messages. When the limit is reached, the user will be notified and the login session will be terminated.
totalCPU The total amount of CPU time allowed for each process in the class. This is specified as an integer with the units intended (s for seconds, m for minutes, h for hours, d for days, and w for weeks).
totalDiskIO The total amount of DiskIO allowed for each process in the class. This is specified as an integer with the units intended (KB for kilobytes, MB for megabytes, TB for terabytes, PB for petabytes, and EB for exabytes).
totalLogins The total number of login sessions simultaneously available in the class. If a user tries to log onto the system and the login shell would end up in a class that has reached the totalLogins limit, the login operation will fail. Also, if an operation would cause a login shell to be moved into a class that has reached the totalLogins limit, the operation will also fail.
totalProcesses The maximum number of processes allowed in the class. If an operation would result in a new process entering the class when the class has this many processes in it, the operation will fail.
totalThreads The maximum number of threads allowed in the class. If an operation would result in a new thread entering the class when the class has this many threads in it, the operation will fail. The total thread limit must be at least as large as the total process limit for a class. If a class has a total thread limit but no total process limit specified, the total process limit will be set to the total thread limit.
classVirtMem The maximum amount of virtual memory that a class can have at one time. This is specified as an integer with units intended (MB for megabytes, GB for gigabytes, TB for terabytes).
procVirtMem The maximum amount of virtual memory that a process can have at one time. This is specified as an integer with units intended (MB for megabytes, GB for gigabytes, TB for terabytes).

The default values mentioned above are the system defaults and can be modified using a special stanza named "default."

Consider the following stanza at the beginning of the limits file:
default:
   CPU   = 10%-50%,80%
   diskIO  = 20%-60%,100%

This stanza modifies the default values of the limits for CPU and disk I/O so that if those attributes are not specified for some (or all) of the classes, their minimum, soft maximum, and hard maximum default to the values shown above. In this example, the default values for the physical memory limits (specified by the memory attribute) are still the system default—the minimum 0% and the soft and hard maximum each 100%.

Classes that use only default values for all the resource types can be omitted in the file.

Security

The limits file defining the limits of the superclasses of a WLM configuration must have write permission for root only. The limits file defining the limits for the subclasses of a superclass must have write permission for the adminuser and admingroup for the superclass. If no adminuser exists for the superclass, the limits file should be owned by root. If no admingroup exists for a superclass, the file for the superclass should be owned by the "system" group and have no write permission for group.

Example

The following is an example of a typical /etc/wlm/Config/limits file:
* System Defined Classes
* In this example, the system administrator uses
* only default values for the System and Shared
* superclasses. The System class has a memory minimum of
* 1% by default - can be increased by system administrator
* The system administrator gives non default values
* only for the Default class:
*
System:
   memory = 1%-100%,100%
Default:
   CPU    =  0%-50%,75%
   memory = 0%-25%,50%
*
* User defined classes
*
Super1:
   CPU     = 10%-100%,100%
   memory  = 20%-100%,100%
   diskIO = 0%-33%,50%
Super2:
   memory  =0%-20%,50%
   diskIO =10%-66%,100%
Note: The asterisk (*) is a comment character.

Files

Item Description
limits Defines the resource entitlements for the superclasses or subclasses of a WLM configuration