Самый эффективный и фундаментальный способ получить процент использования процессора и пропускную способность сети в Windows? - PullRequest
6 голосов
/ 15 ноября 2011

Какой самый эффективный и фундаментальный способ получить процент загрузки процессора и пропускную способность сети на платформе Windows?

Поправь меня, если я ошибаюсь ...

  1. windows api // Win32? SDK? (с / с ++) # извините, я понятия не имею ...
  2. Инструментарий управления Windows (WMI),
    • Win32_PerfFormattedData_Tcpip_NetworkInterface class BytesReceivedPerSec
    • Win32_PerfRawData_PerfOS_Processor class PercentProcessorTime
  3. System.Diagnostics PerformanceCounter
  4. Помощник по производительности (PDH), pdh.dll
  5. PerformanceCounter (c # /. Net framework) или другой современный метод?
  6. NtQuerySystemInformation в ntdll.dll

Итак, каков наилучший способ получить эти значения, можно ли импортировать только windows.h и kernel32.dll , чтобы получить оба процент использования процессора и скорость сетевого интерфейса значения?

спасибо

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Как лучше всего

Зависит от остальной части программы.В .NET (отмечая тэг C # в вопросе) легко доступны и WMI, и счетчики производительности.

Из Win32 API, если вы уже используете COM, WMI может быть самым простым, так как чтение Performance Data требует значительного шаблона.код (с какого API вы начинаете).

1 голос
/ 15 ноября 2011

В C ++ я бы использовал PdhOpenQuery, PdhAddCounter, и т. Д. ... Не знаю для C #, но я думаю, что в .NET есть что-то доступное.

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