Быстро определить использование ЦП всеми процессами конкретного c пользователя на терминальном сервере - PullRequest
0 голосов
/ 27 мая 2020

Я ищу быстрый способ узнать совокупную загрузку ЦП всеми процессами определенного c пользователя на сервере терминалов, как показано TaskManager на вкладке «Пользователи» .

Решения с помощью PerformanceCounters, которые я рассмотрел до сих пор, слишком медленные и требуют относительно большого количества процессорного времени.

Мои вопросы:
Как это сделать Я определяю все процессы для указанного c сеанса TS?
Как определить общую загрузку ЦП этих процессов?

Если бы у кого-то там что-то было, я был бы очень благодарен *. 1012 *

Приветствую

Кен

То, что я уже пробовал:

Я смотрел различные решения, но все они были слишком медленными.

1 Ответ

0 голосов
/ 29 мая 2020

На данный момент я смог решить свою проблему через Cassia. Но: это не эффективно. Для определения процессов сеанса Cassia использует способ WTS для определения всех процессов на сервере, а затем отфильтровывает те, которые принадлежат определенному сеансу c.

Это не очень быстро на терминальном сервере с большим количеством пользователей и процессов.

Вот почему я попросил быстрое и менее интенсивное решение.

Моя программа через Cassia использует 17 % ЦП, тогда как TaskManager требует только 0,6% процессорного времени для того же обнаружения.

Мой вопрос: как TaskManager это делает? И могу ли я реализовать это в моей программе C#?

Или это даже magi c?

Привет

Ken

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...