Работа с менеджером системных ресурсов Windows SRM в Windows 2008 Server - Создание политики распределения ресурсов для процессора

ОГЛАВЛЕНИЕ

 

Создание политики распределения ресурсов для процессора

Давайте теперь поговорим о том, как создать политику распределения ресурсов для центрального процессора (CPU resource allocation policy). Эта политика будет использоваться для контроля максимально допустимого процессорного времени, которое может потреблять данное приложение. Начнем этот процесс с открытия консоли менеджера системных ресурсов Windows System Resource Manager console. После открытия консоли щелкните правой кнопкой мыши на контейнере Resource Allocation Policies (политики распределения ресурсов) и выберите команду New Resource Allocation Policy (новая политика распределения ресурсов) из выпадающего контекстного меню. После этого Windows откроет новое диалоговое окно New Resource Allocation Policy, которое изображено на рисунке 1.


Рисунок 1: Это диалоговое окно используется для описания новой политики распределения ресурсов

Первое, что вы должны сделать – это ввести название для новой политики. Т.к. у вас может быть несколько политик, которые предназначены для регулирования использования процессора CPU (все для различных приложений), то неплохо было бы присвоить политике понятное и имя, которое бы отражало ее назначение. Например, вы можете присвоить политике название, которое будет связано с приложением, которое призвано регулировать эта политика. Конечно, если вы собираетесь использовать эту политику для регулирования работы нескольких приложений, то, вероятней всего, вы захотите связать название политики с тем, что она будет делать, а не с названиями приложений, для которых она будет применяться.

После того, как вы назовете свою политику, вы должны присвоить ее по крайней мере одному процессу соответствия критерию. Этот процесс компания Microsoft называет присвоением политики одному или нескольким приложений. Для этого, нажмите на кнопку Add (добавить), и вы увидите диалоговое окно, изображенное на рисунке 2.


Рисунок 2: Диалоговое окно Add or Edit Resource Allocation Properties позволяет вам выбрать приложение, для которого вы хотите использовать свою политику

Первое, что вы, вероятно, заметите – это выпадающий список Process Matching Criteria (процесс соответствия критерию). Этот список предоставляет вам возможность выбора либо пула приложений IIS application pool или одного из приложений, которое вы уже определили. В этом конкретном случае, я выбрал Notepad (блокнот), т.к. это было приложение, которое я определил в первой части этой статьи.

Сразу же под выпадающем списком Process Matching Criteria располагается поле, которое позволяет вам в процентном соотношении указать процессорное время, назначаемое выбранному приложению. Выбираемое вами значение отражает максимальную величину процессорного времени, которое может потреблять выбранное приложение. Если у вас всего одна политика, то вы можете установить для процессорного времени в любое значение от 0% до 99%. Обратите внимание на последнюю строку текста на рисунке 2. Она отражает оставшиеся проценты для CPU, оставленные на значение по умолчанию. Это значит, что если вы описали политику, согласно которой приложению будет отведено 25% из ресурсов вашего процессора, то лишь 74% общего компьютерного времени будет доступно другим политикам. В случае, если вас удивило, что это значение не 75%, то я объясню, что это из-за того, что менеджер системных ресурсов Windows System Resource Manager позволяет вам распределять лишь 99% ресурсов процессора вашего компьютера. По крайней мере 1% необходимо зарезервировать для нужд операционной системы Windows operating system. Если процессорное время было единственным ресурсом, который вы хотели распределить и включить в эту политику, то вам необходимо просто нажать на кнопку OK два раза для создания политики. Перед тем как посмотреть, как все это работает, давайте сперва посмотрим, как создать политику, которая позволит распределять ресурсы памяти. Создание политики распределения памяти (Memory Allocation Policy) Если вы посмотрите на рисунок 2, то вы заметите, что окно свойств, изображенное на рисунке содержит закладку Memory (Память). Как выглядит эта закладка вы можете увидеть на рисунке 3.


Рисунок 3: Закладка Memory (память) позволяет вам установить распределение памяти, которая будет выделена приложению

Как вы можете увидеть из рисунка, эта закладка позволяет вам указать максимальный объем памяти, выделяемой под каждый процесс. Для этого вам просто необходимо выбрать поле Use Maximum Committed Memory for Each Process, а затем указать значение в мегабайтах.

Задание ограничений на объем выделяемой памяти работает немного по-другому, чем указание максимальной загрузки процессора. Когда мы указываем максимальное использование процессора, мы устанавливаем абсолютное значение. Политика просто не позволит приложению использовать больше процессорного времени, чем было задано. Когда вы задаете максимальное значение памяти, выделяемой под процесс, вы устанавливаете не абсолютное значение. Политики не запретит потребление дополнительной памяти. Вместо этого вы должны использовать выпадающий список If Memory Is Surpassed для контроля того, что случиться в том случае, если исчерпан лимит памяти.

Выпадающий список предоставляет вам две настройки. Первая позволяет остановить приложение. Хотя такая настройки и очень полезна в некоторых ситуациях, вы должны взвесить все плюсы и минусы, если захотите воспользоваться этой настройкой. С одной стороны, если приложение запущено на вашем сервере, то на это были причины. Поэтому вы, вероятно, не захотите, чтобы сервер остановил приложение, если можно обойтись без этого. С другой стороны, предположим, что в приложении происходит утечка памяти, и такое избыточное потребление памяти может привести к проблемам в работе других еще более важных приложений на том же самом сервере. В такой ситуации, разумнее было бы остановить приложение до того, как возникнет шанс его пересечения с другим приложением.

Еще одна настройка заключается в журнализации события. Если вы выберите эту настройку, то приложение не будет остановлено, если будет превышен лимит выделяемой памяти. Вместо этого событие просто будет занесено в прикладной журнал.

Последняя настройка на этой закладке позволяет вам ограничить максимальный рабочий набор для каждого процесса. Вы можете включить эту настройку, выбрав поле Use Maximum Working Set Limit for Each Process, а затем введя необходимое значение в специальное поле.

Задание приоритетов при распределении ресурсов

После того, как вы закончили создание вашей политики, нажмите на OK. Теперь вы вернетесь в диалоговое окно New Resource Allocation Policy. Как вы можете увидеть из рисунка 4 политика, которую мы создали, теперь появится в списке ресурсов.


Рисунок 4: Наша новая политика появилась в списке ресурсов

Если вы посмотрите на новую политику, то вы обратите внимание на иконки стрелок вверх и вниз. Вы можете использовать эти стрелки для изменения приоритетов политик. В том случае, если у вас задана лишь одна политика, вы не можете задавать приоритеты. Но если бы у нас было несколько политик, то вы могли бы использовать эти иконки для задания порядка применения политик.

Брайн Позей (Brien Posey)