• ベストアンサー

CPU時間の測定

任意のJavaアプリケーション内の特定の処理での実行時に消費したCPU時間を,そのJavaアプリケーション内部で測定するにはどのようにしたらよいのでしょうか(開始時と終了時の currentTimeMillis() の差分は実時間なので該当せず.アプリケーション起動時にシェルでtimeコマンドを呼ぶのも,外部からの測定であり,また,アプリケーション全体の測定になるので該当せず).C/C++ では clock() の差分で測定していたのですが Javaでの方法がわかりません.OSはLinuxです.

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

1.5ならThreadMXBeanが使えるかな。(参考URL) それ以前のバージョンにはないでしょう。

参考URL:
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/management/ThreadMXBean.html
doumotokouichi
質問者

お礼

御回答いただきありがとうございます.使い方が難しそうですが,しばらく試行錯誤しながら頑張ってみます.ありがとうございました.

関連するQ&A

  • Javaアプリケーション内でコンパイルはできますか?

    Javaアプリケーションから、シェルにアクセスして、Javaプログラムをコンパイルおよび実行したいのですが、できますか? 具体的には、例えば、JavaアプリケーションのメインフレームにJavaプログラムを記述するテキストエリアがあってユーザはそこにJavaプログラムを記述し、任意の名前で保存できるとします。また、メインフレームには、コマンドを実行するテキストフィールドがあり、ユーザは保存したプログラムをそこからコンパイルできる。つまり、そのテキストフィールドに、 javac xxxxx.java と入力するとコンパイルでき、 java xxxxx とすると実行できる。 このようなことをしてみたいのですが、JavaアプリケーションからWindowsもしくはUNIXのシェルと連携させることはできますでしょうか?ご存知の方よろしくお願いします。

    • ベストアンサー
    • Java
  • javaプログラムの実行時間

    某javaベースのウェブサービスのプログラムをやってます。antでプログラムの実行を行っているので、処理時間を測定したくてSystem.currentTimeMillis()をソースコードに入れても端末には何も表示されませんでした。初心者で申し訳ないが、このようなのをどうすれぼ良いですか。

  • clock_gettimeでミリ秒の時間差分の取得

    Linux(CentOS)、C言語で2点の時間の差分をclock_gettimeでミリ秒単位で取得したいと考えています。 マニュアルを参照しましたが、 引数のtimespecの構造と単位が理解できませんでした。 できれば、サンプルコードをつけて教えていただけないでしょうか? よろしくお願い致します。

  • コマンドプロンプトのエラー

    Windows10です コマンドプロンプトで、Java のサンプルプログラムをコンパイルしようとすると、以下のようになります。何が原因でしょうか? C:\Program Files\Java\jdk-15.0.1\src →ここにHello.java のサンプルプログラム(テキスト)は存在します。 C:\Program Files\Java\jdk-15.0.1\bin\→ここにjava.exeは存在します --------------------------------- (以下、コマンドプロンプトの画面) C:\Program Files\Java\jdk-15.0.1\src>C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java 'C:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

  • LinuxでJavaプログラムを起動

    LinuxでシェルからJavaのプログラムを起動する場合、 以下のように打つと思います。 java プログラム名 プログラム名のパスだけで 起動する方法はないのでしょうか? つまりCで書かれたコマンドのようにしたいのですが。 ./プログラム名

    • ベストアンサー
    • Java
  • c言語 時間測定

    c言語の時間測定方法についてです。clock_t で start(始めの時間)とend(終わりの時間)を定義して、 end-start で処理時間を求めようとしています。 while文の処理時間ですが、while前からwhile後までの処理時間は出せるのですが、1回1回のwhileの処理時間が0になってしまい困ってます。何かいい方法はありませんか。

  • シェルの学習

    私はUNIXを使ったことがないのですが、仕事でシェルを使うことになりました。Linuxで勉強しようと思っているのですが、シェルとは難しいものなのでしょうか。また、どの位の学習時間が必要でしょうか?ちなみにプログラミングはCとJavaのプログラミングの経験はあります。

  • "java" が実行できません("java.exe" は実行できる)

    先日 J2SDK 5.0 Update 6 をインストールした際、 この問題に遭遇しました。 PATH も CLASSPATH も正常に設定されています。 しかし、"java" が実行できません。 ところが、"java.exe" とすると実行できます。 これはいったいどういうことなのでしょうか? 以下にいくつかの実行例を載せます。 OS は Windows XP SP1 です。 [実行例] C:\>java [結果] 'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 となるのですが、.exe をつけると以下のように Usage が表示されます。 [実行例] C:\>java.exe [結果] Usage: java [-options] class [args...] (to execute a class) 以下、絶対パス指定した場合も同じ結果です。 [実行例] C:\java\jdk1.5.0_06\bin\java [結果] 'C:\java\jdk1.5.0_06\bin\java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 [実行例] C:\java\jdk1.5.0_06\bin\java.exe [結果] Usage: java [-options] class [args...] (to execute a class)

  • JavaでOSを再起動させる

    Java初心者です。 Linuxのconfファイルを簡単に書き換えるCLIコマンドを作成しました。 そこで、しつもんですが、JavaプログラムでLinuxのコマンドとかを呼び出すことは可能なのでしょうか? たとえば、rebootコマンドを呼び出したり出来るのでしょうか? よろしくお願いいたします。 以上

  • シェルからJavaを起動したい

    シェルからJavaを起動したい 上記ですけど、Linuxで毎回「java パッケージ名.クラス名」を打つのは面倒なので、 シェルスクリプトのファイルを作って、それを実行するだけで起動できるようにしようと思っています。 が、クラスが見つからないってエラーが出て実行できませんでした。 (「java パッケージ名.クラス名」を実行しているディレクトリにシェルを作ってます) 恐らく環境変数などの設定がシェルの中にいるのではないかと思いますが、 シェルスクリプトとかLinuxの環境には疎い為、どういった記述が必要なのか解りません。 どなたか例を提示して頂けないでしょうか? ちなみに、一般的なJavaの環境変数や、 プロジェクト特有・jarファイル等の環境変数は設定済みです。 それから、シェルは以下のように記述してます。 #!/bin/sh java パッケージ名.クラス名 よろしくお願いします。

専門家に質問してみよう