В основе управления рабочей схемой лежит концепция классов. Класс - это множество процессов (заданий), к которым применяются общие ограничения доступа к ресурсам. WLM присваивает процессам различные классы и управляет распределением ресурсов системы между классами с помощью правил присвоения классов. WLM распределяет системные ресурсы между различными классами в соответствии с заданными системным администратором относительными объемами и ограничениями на использование ресурсов.
WLM позволяет системному администратору создать иерархию классов путем определения суперклассов и их подклассов. Функция определения подклассов может быть делегирована администраторам суперклассов. В этом разделе термин класс будет обозначать суперкласс или подкласс, если это различие несущественно. В противном случае будет применяться точный термин.
Основное различие между суперклассами и подклассами лежит в способе распределения ресурсов. На уровне суперкласса ресурсы выделяются из общего объема всех ресурсов, которыми управляет WLM. На уровне подкласса ресурсы выделяются из объема, полученного суперклассом.
Системный администратор может распределить ресурсы между суперклассами и предоставить распределение ресурсов между пользователями и приложениями в пределах каждого суперкласса администратору этого суперкласса.
Процесс может быть классифицирован (связан с определенным классом) автоматически или вручную. При запуске процесса он автоматически связывается с каким-либо классом в соответствии с правилами присвоения, заданными администратором WLM. Администраторы и пользователи, обладающие необходимыми правами доступа, могут указать класс процесса вручную. При этом автоматическое присвоение переопределяется.
Определения классов, относительные объемы ресурсов, ограничения на использование ресурсов и правила классификации определяются независимо для подкласса и суперкласса. Для этого могут применяться интерфейсы SMIT, Web-администратора системы, команды или API WLM. Все определения хранятся в текстовых файлах, называемых файлами свойств WLM. Конфигурация WLM - это множество файлов свойств для всех суперклассов и подклассов WLM.
Администратор WLM указывает имя для каждого класса. Длина имени не должна превышать 16 символов; при этом имя может содержать прописные и строчные буквы английского алфавита, цифры и символы подчеркивания ('_'). Имена всех суперклассов одной конфигурации и имена всех подклассов каждого суперкласса должны быть различными. Имена подклассов различных суперклассов могут совпадать. В этом случае для точного указания подкласса необходимо задать имя суперкласса и имя подкласса, разделенные точками. Например, подкласс Sub суперкласса Super можно однозначно определить как Super.Sub.
Системный администратор может определить не более 27 суперклассов. Кроме того, всегда автоматически создаются еще 5 суперклассов:
Однако существует небольшое количество страниц, которые не могут быть связаны с определенным процессом во время начальной классификации. Эти страницы передаются суперклассу Unclassified. Большая часть из них будет присвоена классам позднее, при обращении к странице, изменении ее размера или освобождении ее каким-либо процессом. Суперклассу Unclassified не могут принадлежать процессы. Для этого суперкласса можно определить только относительные объемы и ограничения на использование физической памяти. Для него нельзя определить относительные объемы и ограничения на использование ресурсов других типов, подклассы и правила присвоения.
Системный администратор или администратор суперкласса может определить до 10 подклассов каждого суперкласса. Кроме того, всегда определены два специальных подкласса - Default (подкласс по умолчанию) и Shared (подкласс общих ресурсов).
Системные администраторы могут работать:
Кроме того, системные администраторы могут создавать новые суперклассы и подклассы. Если для суперкласса не определен ни один подкласс, для него не требуется создавать подкаталог /etc/wlm/config/имя-суперкласса и файлы свойств.
При запуске WLM с конфигурацией, созданной в версии AIX до 5.1, будут применяться только суперклассы. В этом случае вывод команды wlmstat по умолчанию содержит только суперклассы и похож на вывод этой команды в предыдущих версиях. Например:
# wlmstat Класс CPU MEM DKIO Unclassified 0 0 0 Unmanaged 0 0 0 Default 0 0 0 Shared 0 2 0 System 2 12 0 class1 0 0 0 class2 0 0 0 #
Если для некоторых суперклассов определены подклассы, они будут добавлены в вывод команды. Например:
# wlmstat Класс CPU MEM DKIO Unclassified 0 0 0 Unmanaged 0 0 0 Default 0 0 0 Shared 0 2 0 System 3 11 7 class1 46 0 0 class1.Default 28 0 0 class1.Shared 0 0 0 class1.sub1 18 0 0 class2 48 0 0 #
Таким образом, вывод этой команды совпадает с выводом команды ps. Для процессов, суперкласс которых не содержит дополнительных подклассов, команда ps показывает в поле класса только имя суперкласса.