- PR -

JavaでPCの実行状態を判断することができますか?

投稿者投稿内容
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-08-12 12:07
お世話になります。

JavaでどうやってPCの実行状態を判断できますか?
つまり、Busyであるかどうかの判断です。

宜しくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-08-12 17:56
Javaでは難しいでしょう。

どういった目的で知りたいのですか?
目的によってはBusyであるか知る必要がない場合もあると思います。
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-08-14 16:34
ご返事有難うございます。

実は現在、Javaでタスクスケジュラ-のようなPGを試作している所です。
ネットワークであるPCがBusyでなければ、Job(PG)をそのPCに
転送して実行させます。ですので、PCがBusyかどうか判断する必要が
あります。

宜しくお願いします。
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2006-08-14 16:56
実行状況とはCPU使用率のことでしょうか。
OSによって取得方法が異なるのでそれ毎に対応する必要があると思います。

# CPU使用率だとして考えた場合
# 瞬間的な使用率を取得しても意味がないですけど
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-08-14 17:41
そうですね。
CPU使用率やCPU頻度やメモリ使用率などが
知りたいです。
何か方法がご存知なら
ご教授ください。

_________________
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-08-14 18:28
CPU使用率などについてはネイティブなコードが必要ですが、
最終的な目的は一体なんでしょう。。。

例えばネットワーク上の複数のタスク実行サーバがあって、
暇なサーバを判断して処理を委譲したいという感じですか?
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-08-14 23:42
ロードバランスなら、投げた各JOBの 時間統計を取るのですむのでは
(それがもっとも確実なはず)

第8回:Javaアプリケーションサーバのクラスタ機能比較
http://www.thinkit.co.jp/free/compare/14/8/1.html
各サーバーの細かいシステム情報を収拾して調整はしてないのでは。
_________________
課題:OS仮想化の中で動く VM の場合、どんな 情報を収集したらよいでしょうか。
VMによっては、メモリの使用状況を取得できたりしますが。

http://www.azulsystems.jp/
みたいなものが、目標でしょうか。
-------
グリッドを使う HPC 関連はまた、別のロードバランス のソフト群があると思います。
検索語
JAVA グリッド
グリッドレイアウトと分散システムの両方が出ます。

[ メッセージ編集済み 編集者: MMX 編集日時 2006-08-15 18:02 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-08-14 23:59
大量のJOBを適切に振り分けたいのであれば、
各サーバが自律的に動作するというのもありです。

サーバ:
  1.DBに登録されているタスクがあれ、チェックアウトする
  2.タスクを実行
  3.終了したら定期的にタスクが存在するかをチェック

アプリケーション:
  1.DBにタスクを登録

と言う感じです。

これなら忙しいサーバは必然的に新たなタスクを実行できません。
ちょっと工夫すれば、スケジューリングも可能でしょう。

スキルアップ/キャリアアップ(JOB@IT)