- PR -

cpu情報の取得

1
投稿者投稿内容
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2006-03-07 19:18
質問があります。

javaでCPUの動作周波数を取得することは可能でしょうか?
動作周波数に応じたプログラムを作成したいのですが。。。

一言でCPUの動作周波数と言っても, Intel社製, Seleron社製とかで性能
が異なってくると思いますので, 可能であればこのへんの情報も取得したいのですが。

何か情報をお寄せくださいませ。
よろしくお願いします。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-03-07 22:16
少なくとも普通の方法じゃ無理そうです。

そもそもCPUクロックを計ったところで、イマドキのCPUではPentiumMの
SpeedStepのようにクロックがころころ変わったりするものもあります。

どうしても計りたいのであれば、JNIで実測するくらいでしょうか?

無難な設定で始めて処理時間を実測してしきい値で処理を切り分ける方が
スマートだと思いますし、ネイティブコードは極力避けた方が無難です。
ただ、その際もJavaではGCの影響が大きいので継続的な計測が必要かと。
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2006-03-07 23:43
あしゅさん、ご返答ありがとうございます。
引用:

そもそもCPUクロックを計ったところで、イマドキのCPUではPentiumMの
SpeedStepのようにクロックがころころ変わったりするものもあります。



そうなんですね。知りませんでした。

引用:

どうしても計りたいのであれば、JNIで実測するくらいでしょうか?

無難な設定で始めて処理時間を実測してしきい値で処理を切り分ける方が
スマートだと思いますし、ネイティブコードは極力避けた方が無難です。
ただ、その際もJavaではGCの影響が大きいので継続的な計測が必要かと。


後者の方法でやってみようと思います。
大変参考になりました。
ありがとうございました。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-03-08 06:48
同時に起動している他のプロセスのCPU占有率、ディスクのパフォーマンス、CPUの数、種類と複雑に絡んできますね。
周波数に応じたコーディングなんて余り意味があるとは思えません。
それよりも特定の処理にどの程度時間がかかるか統計を取っていくのはいかがでしょう?
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2006-03-08 07:27
引用:

インギさんの書き込み (2006-03-08 06:48) より:
同時に起動している他のプロセスのCPU占有率、ディスクのパフォーマンス、CPUの数、種類と複雑に絡んできますね。
周波数に応じたコーディングなんて余り意味があるとは思えません。
それよりも特定の処理にどの程度時間がかかるか統計を取っていくのはいかがでしょう?


インギさん、ご返答ありがとうございます。
確かにおっしゃる通りですね。あまり意味がないと思います。
やはり処理時間を実際に計測してみるのが無難ですね。

ありがとうございました。
1

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