Обновлено 13.03.2016
Всем привет сегодня хочу рассказывать, о том как установить и настроить диспетчер системных ресурсов Windows server 2008 R2. Напомню, что это компонент, который позволяет ограничить Службы удаленных рабочих столов и пулы приложений служб IIS по процессорам и оперативной памяти, так как на моей практике, были случаи, что iis выедала всю ОЗУ и виртуальная машина просто висла на прочь. Ниже мы рассмотрим как этого избежать.
И так принцип ясен, создаем лимит по ресурсам для определенной службы. Для начала нужно установить диспетчер системных ресурсов, он есть только в Windows server 2008 R2 Enterprise и Datacenter.
Устанавливаем компонент диспетчер системных ресурсов
Открываем диспетчер сервера > Компоненты > Добавить компоненты
Выбираем диспетчер системных ресурсов и жмем далее.
Вам покажут, что нужно добавить дополнительные компоненты.
жмем установить.
начнется процесс установки диспетчера системных ресурсов
Через пару минут компонент будет добавлен, не забудьте проверить обновления Windows, может для него, что то найдется.
теперь давайте его запустим, для этого идем в пуск > Администрирование > диспетчер системных ресурсов
Вот как выглядит сама оснастка.
Еще Microsoft предупреждает, что если у вас есть стороннее ПО, для управления ресурсами, то оно может конфликтовать со встроенным диспетчером системных ресурсов Windows server 2008 R2
Создание условия соответствия процессов
Первым делом в Windows System Resource Manager делается условие, что именно за процесс или сборник процессов вы хотите ограничить. Щелкаем правым кликом по условие соответствия процессов и выбираем создать.
В открывшемся окне мастера введите понятное вам название, так как условий ограничения может быть много, чтобы у вас не было путаницы. Теперь жмете Добавить, и у вас на выбор 4 пункта
- Зарегистрированная служба
- Запущенный процесс
- Приложение
- Пул приложений IIS
Я для примера буду ограничивать приложение Google Chrome. для этого его нужно выбрать.
При желании можно добавлять много приложений.
если вы будите ограничивать IIS, то Windows System Resource Manager позволяет ограничивать даже конкретные пулы.
Далее переходим к созданию политик.
Создание политик выделения ресурсов
Для того, чтобы создать новую политику, щелкаем по корню правым кликом и выбираем Создать политику выделения ресурсов.
В мастере задаем имя политики и жмем добавить. Кстати если политик будет несколько, то их приоритет можно задавать с помощью стрелок.
У вас откроются 3 вкладки
- Общие > даст задать условие и ограничить процессоры
- Память > задать ограничение по памяти
- Дополнительно
Ограничение лимита по процессорам
Я выбираю для примера IISAppPool и говорю, что он не может использовать более 95 процентов процессора. По сути вы указали максимальную величину процессорного времени, которое может потреблять выбранное приложение. При наличии всего одной политики вы можете установить для процессорного времени в любое значение от 0% до 99%.
Посмотрите еще параметр Процент оставшегося времени ЦП, это сколько процессорных мощностей у вас осталось. Простой пример вы задали политикой для приложения 25% из ресурсов вашего процессора, это значит что остальным приложениям будет доступно 74 процента один процент система оставляет себе на случай того, чтобы можно было достучаться до Windows System Resource Manager.
Но тут же можно и выбрать, то что создано заранее.
Теперь переходим на вкладку Память. Тут ставим галку Использовать максимум памяти для каждого процесса и выставляем лимит, а так же действие, что будет если будет превышен лимит, я выставил остановить..
С одной стороны, если приложение запущено на вашем сервере, то на это были причины. Поэтому вы, вероятно, не захотите, чтобы сервер остановил приложение, если можно обойтись без этого. С другой стороны, предположим, что в приложении происходит утечка памяти, и такое избыточное потребление памяти может привести к проблемам в работе других еще более важных приложений на том же самом сервере. В такой ситуации, разумнее было бы остановить приложение до того, как возникнет шанс его пересечения с другим приложением.
К сожалению данный лимит ни как не ограничит дальнейшее потребление, так вот сделано, но уж лучше потушить нужный процесс, чем он выведет из строя весь хост, с процессором вы задаете абсолютное значение, выше которого вы просто не сможете перейти
Осталась вкладка дополнительно, тут можно явным образом задать какие процессоры использовать и указать правила управления, о них ниже.
Если вы нажмете кнопку перераспределить ресурсы, то сможете добавить дополнительные условия.
Не забудьте еще настроить уведомления о событиях и все ваш Windows System Resource Manager, готов к работе.
Written on 30 Ноября 2008. Posted in Windows Server 2008
Иногда, плохо написанное приложение может потреблять так много ресурсов, эти ресурсы забираются у других приложений, которым они также нужны. Один из способов оградить приложение от потребления слишком большого количества ресурсов, таких как память и процессорное время, заключается в регулировании использования ресурсов с помощью менеджера системных ресурсов Windows System Resource Manager. В этой статье я покажу вам, как использовать этот инструмент для получения более четкого контроля над ресурсами вашего сервера.
Что нового в операционной системе Windows 2008 Server
Менеджер системных ресурсов Windows System Resource Manager – это не новый инструмент, который появился еще до выхода операционной системы Windows 2008 Server. В действительности он появился с выходом операционной системы Windows Server 2003. Самое большое различие между версиями этого инструмента в операционных системах Windows Server 2003 и Windows 2008 Server заключается в том, что менеджер системных ресурсов Windows System Resource Manager стал частью операционной системы Windows 2008 Server (но только для корпоративной версии или Enterprise Edition). Как вы можете знать, менеджер системных ресурсов Windows System Resource Manager не был включен в операционную систему Windows Server 2003. В рамках этой статьи я буду работать с версией, которая включена в операционную систему Windows 2008 Server.
Установка менеджера системных ресурсов Windows System Resource Manager
Хотя менеджер системных ресурсов Windows System Resource Manager включен в операционную систему Windows 2008 Server operating system, он не установлен по умолчанию (по крайней мере в бета версии, которую я использую). Процедура для установки компонентов Windows в операционной системе Windows 2008 Server совершенно отличается от способа, который использовался в операционной системе Windows Server 2003. Апплет Add/Remove Programs (добавить/удалить программы) исчез из Control Panel (панели управления). Вместо этого, вы должны добавить или удалить компоненты Windows с помощью менеджера сервера Server Manager.
Начнем процесс установки с открытия менеджера сервера Server Manager. Когда менеджер сервера откроется Server Manager, выберите контейнер менеджера сервера Server Manager на самой вершине дерева. После того, как вы это сделаете, в правом окне появится общая информация относительно способа настройки вашего сервера. Прокрутите все эту информацию до тех пор, пока не достигните раздела Features Summary, который изображен на рисунке 1.
Рисунок 1: Раздел Features Summary используется для добавления или удаления компонентов Windows
После этого вы должны нажать на ссылку Add Features (добавить элементы), которую можно увидеть на рисунке. Это приведет к запуску мастера Windows по добавления новых элементов (Add Features wizard). Начальное окно мастера содержит набор полей, которые соответствуют различным компонентам Windows. Поставьте галочку напротив поля Windows System Resource Manager. После этого появится выпадающее окно, которое сообщит вам, что вы также должны установить SQL Server 2005 Embedded Edition. Нажмите на кнопку Add Required Role Services (добавить службы необходимых ролей) для выбора необходимых компонентов и закрытия выпадающего окна, и вернитесь к окну мастера. Нажмите на кнопку Install (установить) и все необходимые службы будут установлены на сервер.
Использование менеджера системных ресурсов Windows System Resource Manager
После завершения процесса установки вы можете запустить менеджер системных ресурсов Windows System Resource Manager, выбрав его из меню административных инструментов (Administrative Tools). После открытия менеджера системных ресурсов Windows System Resource Manager, вы увидите окно, спрашивающее вас о том, хотите ли вы производить администрирование локальной машины (local computer) или удаленного компьютера (remote machine). В рамках этой статьи, я выбрал вариант для локального компьютера (local computer) и нажал на кнопку Connect (подключиться). Если вы получите сообщение об ошибке, то проверьте, запущены ли у вас служба менеджера системных ресурсов (Windows System Resource Manager service) и служба SQL Server 2005 Embedded Edition service. После установления соединения консоль менеджера системных ресурсов Windows System Resource Manager console должна выглядеть, как на рисунке 2.
Рисунок 2: Так должна выглядеть консоль менеджера системных ресурсов Windows System Resource Manager console после установления соединения
Создание процесса соответствия критериям (Process Matching Criteria)
Теперь, когда менеджер системных ресурсов Windows System Resource Manager установлен и запущен, давайте начнем с создания некоторого процесса соответствия критерию (process matching criteria). Создание процесса соответствия критерию (process matching criteria) позволяет вам описать приложения или процесс таким образом, что ему можно назначить ресурсы.
На первом этапе необходимо указать приложение, для которого вы хотите создать процесс соответствия критерию (process matching criteria). После этого щелкните правой кнопкой мыши на контейнере Process Matching Criteria и выберите команду New Process Matching Criteria (создать процесс) и контекстного меню. После этого Windows загрузит диалоговое окно New Process Matching Criteria.
После появления этого окна первое, о чем вас спросят – это название критерия (criterion name). Вы можете задать в этом поле любое название, которое вам нравиться, но я рекомендую использовать название, которое описывает процесс, который вы хотите определить.
Теперь вы должны указать процесс, службу или приложение, которое вы хотите определить. Для этого нажмите на кнопку Add (добавить). Появиться диалоговое окно Add Rule (добавить правило). То что вы будете делать дальше зависит от того, что именно вам нужно. Например, если вы хотите вручную определить приложение, то просто введите путь к приложению и имя файла в поле Include Files или Command Lines.
Также у вас есть возможность выбора приложения, процесса или службы, или даже пул приложений IIS application pool из списка. Если вы посмотрите на Рисунок C, то вы обратите внимание на выпадающий список со словом Application. Вы можете использовать этот выпадающий список для выбора приложения, запущенного процесса (running process), зарегистрированной службы (registered service), или пула приложений IIS application pool. После того, как вы сделаете свой выбор, нажмите на кнопку Select (выбрать) и вы увидите список параметров, из которых вы можете выбрать. Если вы выберите параметр Application (приложение), то Windows просто отобразит содержимое жесткого диска, а не список приложений. Далее вам необходимо выбрать приложение, которое вы хотите определить.
Рисунок 3: На этом рисунке я определил в качестве приложения Notepad (Блокнот)
Перед тем, как я продолжу, я хочу немного поговорить о свойствах, изображенных на рисунке C. Если вы повнимательней посмотрите на эти свойства, то вы обратите внимание, что есть небольшое пространство для более чем одного файла или командной строчки. Причина этого заключается в том, что вы описываете приложение. Иногда, для приложений необходимо несколько исполняемых файлов. При определении приложения, вы можете задать несколько файлов или даже набор приложений, процессов, служб или даже пула приложений IIS application pools.
Если вы посмотрите на нижнюю часть окна свойств, изображенного на рисунке C, то увидите, что есть поле, которое вы можете использовать для исключения файлов или командных строк. Случайно, вы можете оказаться в ситуации, в которой определяемое приложение имеет общий исполняемый код с других приложением. Если такое случилось, то вы можете установить ограничения для общего кода. Опция Exclude Files or Command Lines предоставляет вам возможность исключения компонентов из описания приложения.
Нажмите на кнопку OK и вы вернетесь в диалоговое окно New Process Matching Criteria. Как вы можете увидеть из рисунка 4, приложение, которое мы определили добавилось в список Files or Command Lines. Нажмите на кнопку OK еще раз и приложение, которое вы только что определили появится в списке в контейнере Process Matching Criteria, как показано на рисунке 5.
Рисунок 4: Приложение, которое мы определили было добавлено в список Files or Command Lines list
Рисунок 5: Приложение, которое мы только что определили, теперь присутствует в списке в контейнере Process Matching Criteria
Создание политики распределения ресурсов для процессора
Давайте теперь поговорим о том, как создать политику распределения ресурсов для центрального процессора (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)
|
|
Устанавливаем компонент диспетчер системных ресурсов
Откройте Диспетчер серверов> Компоненты> Добавить компоненты
Выберите System Resource Manager и нажмите Next.
Вам будет показано, как добавить надстройки.
нажмите установить.
начнется процесс установки диспетчера системных ресурсов
Через пару минут компонент будет добавлен, не забывайте проверять наличие обновлений Windows, может что-то для этого есть.
теперь давайте запустим его, для этого идем в Пуск> Администрирование> Диспетчер системных ресурсов
Так выглядит сама буровая установка.
Microsoft также предупреждает, что если у вас есть стороннее программное обеспечение для управления ресурсами, оно может конфликтовать с системным диспетчером ресурсов, встроенным в Windows Server 2008 R2
Создание условия соответствия процессов
Первый шаг в диспетчере системных ресурсов Windows – это условие для процесса или набора процессов, которые вы хотите ограничить. Щелкните правой кнопкой мыши условие соответствия процесса и выберите “Создать.
В открывшемся окне мастера введите имя, которое вам известно, поскольку может быть много условий ограничения, чтобы не вводить в заблуждение. Теперь нажмите Добавить, и у вас есть 4 элемента на выбор
- Зарегистрированный сервис
- Процесс запущен
- Заявка
- Пул приложений IIS
Я, например, ограничу приложение Google Chrome, для этого нужно его выбрать.
При желании можно добавить множество приложений.
если вы ограничиваете IIS, диспетчер системных ресурсов Windows также позволяет ограничивать определенные пулы.
Далее перейдем к созданию критериев.
Создание политик выделения ресурсов
Чтобы создать новую политику, щелкните правой кнопкой мыши корень и выберите «Создать политику распределения ресурсов.
В мастере задайте имя политики и нажмите Добавить. Кстати, если политик несколько, их приоритет можно установить с помощью стрелок.
У вас будет 3 открытых вкладки
- General> установит условие и ограничит количество процессоров
- Память> установить предел памяти
- Более того
Ограничение лимита по процессорам
Я выбрал IISAppPool в качестве примера и сказал, что он не может использовать более 95 процентов процессора. По сути, вы указали максимальное количество процессорного времени, которое может потреблять выбранное приложение. С помощью всего лишь одного критерия вы можете установить для процессорного времени любое значение от 0% до 99%.
См. Также параметр «Процент оставшегося времени ЦП», который указывает, сколько вычислительной мощности у вас осталось. Простой пример: вы установили политику для приложения на 25% ресурсов процессора, что означает, что 74% будут доступны для остальных приложений, 1% зарезервирован системой на случай, если вы сможете подключиться к системе Windows. Менеджер ресурсов.
Но можно сразу выбрать то, что было создано заранее.
Теперь перейдите на вкладку Память. Здесь мы устанавливаем флажок Использовать максимальную память для каждого процесса и устанавливаем предел, а также действие, которое будет выполнено, если предел будет превышен, я установил прерывание..
С одной стороны, если приложение запущено на вашем сервере, на это были причины. Следовательно, вы, вероятно, не хотите, чтобы сервер останавливал приложение, если вы можете обойтись без него. С другой стороны, предположим, что приложение теряет память, и это чрезмерное потребление памяти может вызвать проблемы для других, даже более важных приложений на том же сервере. В такой ситуации было бы разумнее остановить приложение, прежде чем появится вероятность того, что оно помешает другому приложению.
К сожалению, этот лимит никоим образом не ограничивает дальнейшее потребление, и это так, но лучше погасить требуемый процесс, чем отключать весь хост, с процессором вы устанавливаете абсолютное значение, выше которого вы просто не можете перейти
Слева есть дополнительная вкладка, здесь вы можете явно указать, какие процессоры использовать, и указать правила управления для них ниже.
Если вы нажмете кнопку перераспределения ресурсов, вы можете добавить дополнительные условия.
Не забудьте настроить уведомления о событиях и подготовить диспетчер системных ресурсов Windows.
Диспетчер системных ресурсов Windows
Windows System Resource Manager
Диспетчер системных ресурсов Windows (Windows System Resource Manager — WSRM) — это компонент Windows Server 2008 R2, который позволяет администраторам управлять выделением ресурсов приложениям, службам и процессам. Будучи использованным с сочетании со службами удаленных рабочих столов, WSRM позволяет администраторам тонко контролировать объем ресурсов, которые позволено потреблять каждому пользователю или сеансу на сервере RD Session Host. Ограничивая ресурсы, используемые сеансом или пользователем, администратор может сократить шансы на истощение серверных ресурсов RD Session Host, что может повлиять на работу других пользователей на сервере.
Использование Network Load Balancing (NLB)
Co времен Windows 2000 Server Terminal Services узлы терминальных служб могут быть «кластеризованы» с использованием средства балансировки сетевой нагрузки (Network Load Balancing — NLB) для распределения клиентской нагрузки среди нескольких серверов. С появлением RD Connection Broker Load Balancing, эта техника кластеризации отныне не является единственным методом управления балансировкой загрузки RD Session Host. В качестве общей рекомендации RD Connection Broker Load Balancing должен быть использован для комплексов серверов RD Session Host, которые нужны для управления балансировкой.
- Remove From My Forums
-
Вопрос
-
Приветствую.
На терминальном сервере установил WSRM. Создал политику ( manage) — которая бы не давала приложению (для тестов взял Prime95 и Firefox:
1. Потреблять более 10% процессора
2. Потреблять более 200 Мб ОЗУ.
С памятью — всё хорошо, чуть больше нормы и приложение выключается.
А вот с процессором как-то не понятно — prime95 спокойно потребляет 98%, никто его, почему-то, не ограничивает. В логах тоже никаких записей по этому поводу нет…
В общем — что надо подкрутить, чтобы WSRM не давал весь процессор загружать ?
Спасибо.
Ответы
-
http://technet.microsoft.com/ru-ru/library/cc753280(WS.10).aspx Вкратце — WSRM при управлении ресурсами процессора ставит нижнее а не верхнее ограничение, т.е . гарантирует
минимальное количество ресурсов для процесса, никак не ограничивая максимальное. Также WSRM не активирует управление ресурсами процессора, если загрузка процессора не превышает 70% Смысл данного управления состоит в том, чтобы при запуске нескольких ресурсоемких
приложений не дать одному из них забрать все ресурсы под себя.
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий
Посетите Блог Инженеров Доклады на Techdays:
http://www.techdays.ru/speaker/Vinokurov_YUrij.html-
Помечено в качестве ответа
22 сентября 2010 г. 13:08
-
Помечено в качестве ответа