JavaからWindowsマシンの使用メモリ容量やディスクアクセス状況を知る方法を教えてください。


上記を把握して、プログラムの動作を変えることを検討しています。

マシンのメモリ容量です。当該プログラム(VM)が使用しているメモリ容量(Heap,stack)ではありません。

また「ディスクアクセス状況」ではアバウトですが、単位時間当たりのディスクアクセス回数くらいを想定しています。

言語はJavaがよいですが、Javaでなければ、別言語で作成してJavaから呼び出すことも考えます。


よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2008/05/21 10:29:01
  • 終了:2008/05/22 10:56:05

回答(2件)

id:hirotow No.1

hirotow回答回数131ベストアンサー獲得回数102008/05/21 11:00:16

ポイント35pt

SWTからWin32APIにアクセスするのが手っ取り早いかと思います。

http://homepage2.nifty.com/igat/igapyon/diary/2005/ig051228.html


使用するAPIはPDH系のものになります。

http://nienie.com/~masapico/api_PdhOpenQuery.html

id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/05/21 11:03:38

ポイント35pt

JavaからWin32APIをコールし、GlobalMemoryStatus を調べると物理メモリ容量を取得できます。

具体的な手順は下記を参考にしてください。

id:gzmgzm

HirotowさんもPahooさんもありがとうございます。

そもそも私はWin32APIにはまったくなじみがないので、これから勉強です。

それとディスクアクセス状況はなんとかならないですかね。こちらは、動作するプログラムは、主にこちらが作ったものだけなので、選択肢としては、アクセス数を自分で記録して、集計プログラムに集めることもありかと思います。

それとLinuxもどうするか?

2008/05/21 11:33:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません