Как мне узнать текущее использование ЦП для каждого потока в конкретном приложении? Можно ли получить эту информацию откуда-нибудь или с помощью какого-нибудь инструмента?
Для быстрого ответа используйте SysInternal Обозреватель процессов. Дважды щелкните процесс, чтобы открыть диалоговое окно с подробностями. вкладка потоков дает сортируемый список всех потоков, включая дельту переключения контекста и время ЦП.
Perfmon (системный монитор) должен предоставить вам необходимую информацию.
Далее предполагается Windows 2000, XP или Server 2003. Я не проверял, но думаю, что монитор производительности немного отличается в Vista, Windows 7 и Server 2008.
Чтобы запустить системный монитор, выберите Пуск> Панель управления> Администрирование> Производительность.
Чтобы добавить график для каждого потока приложения, щелкните график правой кнопкой мыши и выберите «Свойства». Возможно, вы захотите удалить любые настройки по умолчанию, чтобы получить более четкую диаграмму.
Нажмите кнопку «Добавить ...» и убедитесь, что установлен флажок «Использовать счетчики локального компьютера» (если вы не хотите контролировать другой сервер, и в этом случае выберите этот вариант).
В разделе «Объект производительности» выберите «Поток».
Выберите счетчик «% загруженности процессора», а затем выберите все потоки, которые вы хотите отслеживать (Ctrl + щелчок, чтобы выбрать несколько). Нажмите «Добавить», а затем «Закрыть».
Вернувшись в свойства, вы можете настроить график по своему усмотрению, назначив цвета, узоры и т. Д. Нажмите OK.
Вам может потребоваться начать построение графика, если вы это сделаете, а затем щелкните красный знак СТОП, чтобы он не был включен, чтобы запустить график.
Монитор процессов (sysinternals)
Я думаю, что ProcessMonitor от Sysinternals (недавно приобретенный Microsoft), вероятно, подойдет.
Process Monitor - это расширенный инструмент мониторинга для Windows, который в реальном времени показывает активность файловой системы, реестра и процессов / потоков. Он сочетает в себе функции двух устаревших утилит Sysinternals, Filemon и Regmon, и добавляет обширный список улучшений, включая богатую и неразрушающую фильтрацию, комплексные свойства событий, такие как идентификаторы сеансов и имена пользователей, надежную информацию о процессе, полные стеки потоков с интегрированной поддержкой символов. для каждой операции, одновременная запись в файл и многое другое. Его уникальные мощные функции сделают Process Monitor основной утилитой в наборе инструментов для поиска и устранения неисправностей вашей системы.
Вот ссылка:
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
вы можете использовать встроенный монитор производительности Windows, просто введите perfmon в начале, запустите. один раз на perfmon щелкните значок плюса, выберите процесс, вы выберите свой процесс, а затем выберите то, что вы хотите увидеть. вернуться к основам!