smartinspectのようなモニターにログを記録するのは良いことです。ただし、Windows自体は、この場合はプログラム(またはプロセス)の各リソースのデータを収集します。WMIは、アプリケーション監視の標準です。WMIによってキャプチャされたデータを表示できます。多くのアプリケーション管理、ヘルスモニタリング、またはアプリケーションモニタリングツールは、すぐに使用できるWMIをサポートしています。
したがって、アプリケーション内のCPU使用率をログファイルに記録することはお勧めしません。
可用性とパフォーマンスが重要であると思われる場合は、MicrosoftOperationsManagerソリューションなどのソリューションを選択してください。
WMIについてのアイデアを取得し、プロセスのリストを取得するには、以下を参照してください。- CPUWin32_PerfFormattedData_PerfProc_Process
時間を取得するには、フィルターはprocessID
です。この記事を参照してください
-Win32_processクラスからprocessIDを取得できます。
WMIはKevinMatthewGossによってC#で簡単になりました
oConn.Username = "JohnDoe";
oConn.Password = "JohnsPass";
System.Management.ManagementScope oMs = new System.Management.ManagementScope("\\MachineX", oConn);
//get Fixed disk stats
System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3");
//Execute the query
ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs,oQuery);
//Get the results
ManagementObjectCollection oReturnCollection = oSearcher.Get();
//loop through found drives and write out info
foreach( ManagementObject oReturn in oReturnCollection )
{
// Disk name
Console.WriteLine("Name : " + oReturn["Name"].ToString());
// Free Space in bytes
Console.WriteLine("FreeSpace: " + oReturn["FreeSpace"].ToString());
// Size in bytes
Console.WriteLine("Size: " + oReturn["Size"].ToString());
}
リモートシステムからもプロセスを監視できます。