1
サーバーを監視するC#プログラムを構築しました。監視には、メモリ容量、ディスク容量など、サーバーに関する詳細のキャプチャが含まれます。C# - WMIを使用してハードおよびソフトページフォールトを区別する
これは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);
については
あなたは、ソフトページフォールトのあなたの意味を明確にもらえますか?その言葉は、あなたが誰に尋ねるかによって複数の意味を持つ傾向があります。 TLBミスに似た何かを意味すると思いますか? – antiduh
特定のプロセスに対してハードフォールトを取得することはできません。次はメモリパフォーマンスカウンタです(https://msdn.microsoft.com/en-us/library/gg590213%28v=vs.100%29.aspx)。ページフォルトはソフト+ハードですが、ページ読み取りは難しいです。 –
応答していただきありがとうございます。ハード・ページ・フォルト:ハード・ページ・フォルトは、ページが物理メモリーまたはプロセスによって作成されたメモリー・マップ・ファイルにない場合に発生します。ソフトページフォールト "ソフトページフォールトは、ページがメモリ内の他の場所に常駐しているときに発生します。私はサーバー全体のページフォルトが必要なので、私が持っているコードを続行します。ハード/ソフト定義の私のソースは次のとおりです。https://blogs.technet.microsoft.com/askperf/2008/06/10/the-basics-of-page-faults/ – TrevorGoss