- - PR -
C# 物理メモリおよびスワップファイルの使用状況
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-01 06:18
ところで、こんな検索はしてみました?
___________________________________________________________________ □ written by Jitta on 2005/11/30 □ Microsoft MVP for Visual Developer ASP/ASP.NET Oct.2005-Sept.2006 _________________ | ||||||||||||||||
|
投稿日時: 2005-12-01 20:01
Myはいかがですか?
My.Computer.Info Object Members http://msdn2.microsoft.com/en-us/library/ms172974.aspx _________________ IEEE-CSDP 2004-2007 | ||||||||||||||||
|
投稿日時: 2005-12-02 02:00
南部です。 「私なり」に回答してみました。 「API」は渋木宏明(ひどり)さんの投稿のとおりです。 ★質問1-1 ⇒API ★質問2-1 ⇒API ★質問3-1 ⇒Process.CurrentProcess.WorkingSet ★質問4-1 タスクマネージャのコミットチャージの合計? ⇒値がずれているのは、カーネルメモリ分? ★質問4-2 ⇒API ★質問5-1 ⇒Process.CurrentProcess.PagedMemorySize + Process.CurrentProcess.PagedSystemMemorySize ★質問6-1 タスクマネージャのコミットチャージの 制限値-合計? ⇒OK ★質問6-2 ⇒API #んー、まるで自信ありません。 | ||||||||||||||||
|
投稿日時: 2005-12-02 02:32
これは、Paging 可能な Committed Byte を表しているだけで、 そのときの使用している Paging File の容量ではありません。 とりあえず、System Monitor では、Paging File %Usage が取得できるので それから割り出せるかな〜と。 WMI 使うのであれば、Win32_PageFileUsage の AllocatedBaseSize から CurrentUsage を引いてやればいいでしょう。 | ||||||||||||||||
|
投稿日時: 2005-12-02 18:14
PerformanceCounterの情報源
ご回答ありがとうございます。 さっそくPerformanceCounterを試してみました。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/gngrfperformancecounters.asp 例題を動かして値を取得することはできたのですが、 PerformanceCounterの取得値についての情報源が不足しているため 応用が効きません。、CategoryNameと CounterNameの一覧は取得できますが、 InstanceNameの一覧を取得する方法が分からず、また、仮に一覧を取得できても、 値の解説記事が見つからないので困っています。宜しくお願いします。 質問1 PerformanceCounterのインスタンス名の一覧を知る方法は? 例えば、CategoryName = "Paging File" CounterName = "% Usage"の場合 InstanceName = "_total"が存在することをどうやって見つければ良いのでしょうか? また、指定できるInstanceNamの一覧を出力するにはどうすれば良いでしょうか? 質問2 ページングファイルの使用率はパーセントの1000倍が返されるのですか? 例えば、CategoryName = "Paging File" CounterName = "% Usage" InstanceName = "_total""のRawValue → 17309 が返された場合、 使用率1=17.309%の解釈で正しいでしょうか? 質問3 PerformanceConterの取得できる値の意味を解説したドキュメントの場所が不明です。 例えば、CategoryName = "Paging File" CounterName = "% Usage" InstanceName = "_total"のRawValueはページングファイルの使用率であるという 記載はどこにあるでしょうか? | ||||||||||||||||
|
投稿日時: 2005-12-02 23:08
私はコントロールパネルのパフォーマンスモニターを参照しました。
あれ、そのままパーセントで返ってませんか?
の部分です。 ProcessのCPU使用率は自前で計算したので1000倍して10で割っていますが、単に小数点一桁の百分率にしたものです。
これは私もわかりません。ごめんなさい。 パフォーマンスモニターの使い方のドキュメントを探したら見つかるのかもしれません。 | ||||||||||||||||
|
投稿日時: 2005-12-05 19:27
ご回答ありがとうございます。
パフォーマンスモニターで期待通りの値を取得できるようになりました。 パーセント値もきちんと計算できることが確認できました。 |