C#アプリケーションで使用されている合計メモリを取得するにはどうすればよいですか?私が試したのは、GC.GetTotalMemory()Process.GetCurrentProcess()。PrivateMemorySize、PrivateMemorySize64、VirtualMemorySize、VMS64、PagedMSです。
彼らはさまざまな値を報告しますが、それは問題ありません。ただし、これらの値は、タスクマネージャーに表示される値とは異なります。
私はWindows8を使用していますが、タスクマネージャーでは、アプリケーション名のほかに、すべてのアプリで使用されているリソースが右側に個別に表示されます。マイアプリケーションの現在のメモリも表示されます。それが18.9MBであり、GC.Collect()を強制すると、約9MBに低下するとします。
現在、GC.Collect()の前:PrivateMemorySizeとPMS64は両方とも〜42(MBに変換した後)を報告し、GetTotalMemory()は〜3 PagedMSを提供し、PagedMS64は〜379を提供します
GC.Collect()の後:PrivateMemorySizeとPMS64は両方とも〜39(MBに変換した後)を報告し、GetTotalMemory()は〜1 PagedMSを提供し、PagedMS64は〜367を提供します
ただし、これらはタスクマネージャの表示とは異なります。私が欲しいのは「18.9」と「9」です。Windows8タスクマネージャーによって報告されたアプリケーションのメモリ使用量。コードビハインドを使用してこれを行うにはどうすればよいですか?.Net 4.0、VisualStudio2012を使用しています