Я использую wmi и python, чтобы отслеживать поведение процесса, запущенного на моем компьютере.
from win32com.client import GetObject wmi = GetObject('winmgmts:') processes = wmi.InstancesOf('Win32_Process') for process in processes: print process.ProcessId, process.Name
Win32_Process содержит много информации, но я не вижу ничего для отслеживания потребления ЦП. Окно «Монитор задач» показывает эту информацию, поэтому я думаю, что ее можно получить.
Я думал, что свойство WorkingSetSize определяет потребление памяти процессом, но я вижу значение, отличное от того, что дает TaskMonitor.
Как получить эти 2 значения для данного процесса?
Обновление: Монитор задач показывает PrivateWorkingSetSize, который, похоже, недоступен с Win32_Process. В чем разница между WorkingSetSize и PrivateWorkingSetSize?
3 ответа
Я почти уверен, что вам нужны классы производительности WMI Win32_PerfFormattedData_PerfProc_Process или Win32_PerfRawData_PerfProc_Process
Например. их свойства PercentProcessorTime и WorkingSet
Обратите внимание, что для понимания классов Perf требуется немного усилий.
- Есть проблемы с форматированными версиями (см. Статью Hey, Scripting Guy! Почему мой скрипт мониторинга производительности продолжает возвращать одни и те же неверные значения?)
- Классы Raw Data нуждаются в переводе "CounterType "в правильную математическую формулу, чтобы использовать ее для вычисления значений на основе необработанных данных. См. Как мое вождение? Мониторинг производительности с помощью WMI в качестве отправной точки.
Но эти классы WMI должны предоставить вам всю информацию, которую вы ищете.
Пожалуйста, посмотри:
Также могут быть интересны:
Win32_Process также имеет UserModeTime и KernelModeTime, которые можно использовать для расчета использования ЦП.
Также посмотрите http://technet.microsoft.com/en-us/library/ ee176718.aspx
Похожие вопросы
Связанные вопросы
Новые вопросы
windows
Написание программного обеспечения, специфичного для операционной системы Microsoft Windows: API-интерфейсы, поведение и т. Д. ОБЩАЯ ПОДДЕРЖКА WINDOWS НЕВОЗМОЖНА. Вопросы поддержки можно задать на https://superuser.com