Стандартным способом было бы использовать счетчики производительности Windows.Они бывают как в «сыром», так и в «готовом» виде, и к ним можно получить доступ как минимум тремя разными способами:
- direct: специальный ключ в реестре Windows
- Компонент Performance Data Helper ( PDH )
- WMI
Я должен предупредить вас, что все они имеют довольно крутая начальная кривая обучения.Как только вы дошли до того, что вы можете собирать и использовать данные из одного счетчика достаточно хорошо, добавление большего количества данных обычно довольно просто.
В вашем вопросе вы также упоминаете совершенно другой способ сбора данных об использовании ЦП.данные.Идея в том, чтобы использовать GetProcessTimes
на регулярной основе.Например, после запуска дочернего процесса вы можете установить таймер и вызывать его раз в секунду, чтобы получать информацию о текущем использовании процессором дочернего процесса.
Если вы собираетесь использовать процессор таким образом,Вы, вероятно, захотите использовать GetProcessMemoryInfo
для сбора статистики использования памяти почти таким же образом.
Однако для статистики ввода-вывода я не знаю много впуть реальных альтернатив счетчикам производительности.