マシンで実行されているプロセスの動作を追跡するために、wmiとpythonを使用しています。
from win32com.client import GetObject wmi = GetObject( 'winmgmts:') processes = wmi.InstancesOf( 'Win32_Process') プロセス内のプロセスの場合: print process.ProcessId、process.Name
Win32_Processには 多くの情報 がありますが、CPU消費を追跡するための情報が何も表示されません。ウィンドウのタスクモニターにこの情報が表示されているので、取得できると思います。
WorkingSetSizeプロパティがプロセスのメモリ消費を与えていると思いましたが、TaskMonitorによって与えられたものとは異なる値を見ることができます。
特定のプロセスに対してこれら2つの値を取得するにはどうすればよいですか?
更新:タスクモニターに、Win32_Processでは使用できないように見えるPrivateWorkingSetSizeが表示されます。 WorkingSetSizeとPrivateWorkingSetSizeの違いは何ですか?
WMIパフォーマンスクラスが必要だと確信しています Win32_PerfFormattedData_PerfProc_Process または Win32_PerfRawData_PerfProc_Process
例えば。それらのプロパティPercentProcessorTimeおよびWorkingSet
Perfクラスを理解するには少し手間がかかることに注意してください。
ただし、これらのWMIクラスは、探しているすべての情報を提供するはずです。
Win32_Processには、CPU使用率の計算に使用できるUserModeTimeとKernelModeTimeもあります。
http://technet.Microsoft.com/en-us/library/ee176718.aspx もご覧ください。