- - PR -
WMIでシステムキャッシュの取得方法
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-16 13:15
お世話になります。
現在、DOBON.NETさんのTIPSを参考に、WMIを利用してOSの情報を取得しています。 システムキャッシュの値を取得しようと思い、 Win32_OperatingSystemのPropertyDataを全て取得して、 システムキャッシュの値をとれそうな項目を探しました。 しかし、見つからなかったので、取得方法がわからず、 質問させていただきました。 WMIからは取得できないでしょうか? タスクマネージャのパフォーマンスタブにある、システムキャッシュの取得方法です。 よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2006-02-16 15:25
とりあえず、ここをお読みになるとよいかと
File Cache Performance and Tuning | ||||||||||||||||
|
投稿日時: 2006-02-16 18:04
ちゃっぴ様、
お返事ありがとうございます。 紹介いただいたページですが、 全て英語でした。 このような事を書くと、 「英語だからと言って避けているのは良くない」 とお叱りを受ける事必死ですが、 紹介いただいたページのどこに、 私の希望の事が書かれているか分からない状態で、 全て訳しながら読むのには相当な時間を要すると感じました。 せっかく紹介いただいたのに、すみません。今は無理です。 という事で、 せっかくご紹介いただいたのにも関わらず、 それを拒否してしまったので、 申し訳ない気持ちから、 今回の質問は、これまでとさせていただき、 自分なりに他の方法で調べてみようと思います。(勝手ですみません) この度は本当にありがとうございました。 | ||||||||||||||||
|
投稿日時: 2006-02-18 21:58
MSDN を 「"system cache" NEAR size」で検索すると、それっぽいのが出てくるんだけど、表示されている値とずれがあるんだよなぁ。。。
| ||||||||||||||||
|
投稿日時: 2006-02-18 22:12
私が示した Link 先にも書いてありますように、System Monitor で取得できる Memory:Cache Bytes と TackManger の System Cache は一致していません。 CacheSet これで取得している Cache Size も Memory:Cache Bytes と一致しています。 # Source を覗いてみればわらりますが、NtQuerySystemInformation で # 取得しているようです。 で、この件ですが、上記 Tool 作者 Mark Russinovich の著書に記述があります。 インサイドMicrosoft Windows 第4版 下 11章の Chache Maneger で説明がなされています。 興味があるのでしたら、購入してみてください。 ちなみに取得方法までは書いてませんので、著者にでも聞いてみてください。 Kernel Debug での Monitor とかは載っていますが・・・ とりあえず、Process Explorer では実装しているようですから。 とりあえず、質問者が拒否しているようなのでこれにて [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-02-18 22:29 ] [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-02-18 22:45 ] | ||||||||||||||||
|
投稿日時: 2006-02-20 20:23
掲示板って言うのは元々不特定多数の人にあてたメッセージですし、後から同じ質問を持って検索してくる人のためにも(「ここで話が出ているのですが、回答がついていないようです」という質問もありますよね)、質問者を無視してしまってもいいと思っています。 以前、WMI から取得した値とタスクマネージャに表示される値が違うのはなぜ?という質問を、どこかで見たように思います。かなりもったいないという気がするので、
ということですから、どの辺りを読めばいいか、教えていただけないですか? | ||||||||||||||||
|
投稿日時: 2006-02-21 02:28
たしかにおっしゃっていることには一理あるので、 まず、記載されている部分ですけど「Cache Performance Counters」になります。 で、読み進めていくと下記部分にぶち当たります。
思いっきり要約 & 意訳 すると、「system monitor」で取得される「Cache Bytes」は 「system working set」です。(これは Cache 以外にもいろいろ含んでいますが・・・) 奇妙にも、「system monitor」の「Cache Bytes」と「TaskManager」の 「System Cache」は正確に一致しません。 途中で、この手の用語というか表記が紛らわしいといっていますが、 これはまったくもってそのとおりで、「PF 使用量」ってなによこれ、 「Committed Bytes」やん! # 何とかしてよ。 ちなみに上記では「Curiously(奇妙にも)」となっていますが、 「インサイドMicrosoft Windows 第4版」を読むとわかりますが、 ぜんぜん奇妙なことではないようです。 というのは、こんな風に算出しているらしいです。 System Cache = system working set + standby list + modified list system working set は Performance Counter で取得できますが、 stanby list と modified list は Kernel Debugger 以外の 取得方法を知りません。 とりあえず、WMI の Win32 系の Class では無理です。 [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-02-21 02:49 ] | ||||||||||||||||
|
投稿日時: 2006-02-21 21:54
わざわざ抜き出し/意訳までしていただき、ありがとうございます。
|
1