Мониторинг использования ядра процессора на терминальных серверах - PullRequest
0 голосов
/ 07 сентября 2008

У меня терминальные серверы windows 2003, многоядерные. Я ищу способ контролировать использование ядра процессора на этих серверах. Конечный пользователь может иметь запущенный процесс (например, Internet Explorer или Outlook). Ядро этого процесса может достигать 100%, оставляя остальные ядра «нормальными». Таким образом, общее использование ЦП на сервере - это просто сумма всех ядер или если 7 из ядер на 8-ядерном сервере простаивают, а 8-е работает на 100%, то 1/8 = 12,5%.

Какую утилиту я могу использовать для мониторинга нескольких серверов? Если загрузка ЦП для ядра «высокая», что бы я использовал для определения процесса, вызывающего сбой, и как я мог автоматически убить этот процесс, если бы он был в списке «утвержденных процессов уничтожения»?

Продукт из http://www.packettrap.com/ под названием PT360 будет идеальным, за исключением того, что он использует SMNP для получения данных, а SMNP, по-видимому, дает только общее использование ЦП, он не разбит отдельным ядром. Взгляните на их опцию Dashboard с индикатором процессора «гаджет». Это именно то, что мне нужно, если бы оно работало на уровне ядра.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 07 сентября 2008

Индивидуальное использование ЦП доступно через стандартные счетчики производительности Windows. Вы можете контролировать это в perfmon.

Однако, это не даст вам результат, который вы ищете. Если поток / процесс не был явно привязан к одному ЦП, тогда процесс запуска не будет пиковать одно ядро ​​на 100%, пока все остальные не работают. Процесс выбега будет подпрыгивать между всеми процессорами. Я не знаю, почему Windows планирует потоки таким образом, предположительно, потому что нет никакой выгоды от принудительной привязки и некоторых потерь из-за необходимости обрабатывать прерывания на определенных ядрах.

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

1 голос
/ 08 октября 2008

Вы можете попробовать Spotlight в Windows . Вы можете графически детализировать все виды показателей производительности и нагрузки. Его бесплатная.

0 голосов
/ 07 сентября 2008

perfmon от Microsoft может контролировать каждый отдельный процессор. Программа perfmon также работает удаленно, и вы можете отслеживать различные аспекты Windows.

Я не уверен, поможет ли это найти запущенные процессы, потому что планировщик Windows не выполняет процесс всегда на одном и том же процессоре -> на вашей 8-процессорной машине вы увидите 12,5% использования всех процессоров, если один процесс убегает.

...