サーバーを監視する C# プログラムを作成しました。監視には、メモリ容量、ディスク容量など、サーバーに関する詳細のキャプチャが含まれます。
これは、WMI を使用して行われます。
また、各サーバーのページ フォールトも監視しています。
C# でハード ページ フォールトとソフト ページ フォールトを区別できるかどうかを知りたいですか?
ここに私が使用しているコードのカットがあります:
var machine = "machine";
// get the scope of the remote server
var scope = new ManagementScope(@"\\" + machine + @"\root\cimv2");
// the query as a string
var queryString = "Select Name, ProcessId, PageFaults from win32_Process";
// the query as an object
var query = new ObjectQuery(queryString);
// Run the query
var worker = new ManagementObjectSearcher(scope, query);
var results = worker.Get();
pageFaults.WriteLine(machine);
// Enumerate around each item in the results query
foreach (ManagementObject item in results)
{
totalPages = totalPages + (int)(UInt32)item["PageFaults"];
}
Console.WriteLine("Total pages = {0}", totalPages);
pageFaults.WriteLine("*{0}*",totalPages);