0

Java プロファイラーを使用して tomcat サーバーのプロファイルを作成したいと考えています。私のプロファイラーは、以下のような run.sh というスクリプトから実行されます。

if [ -z "$JAVACMD" ] ; then
   if [ -n "$JAVA_HOME" ] ; then
      JAVACMD="$JAVA_HOME/bin/java"
   else
      JAVACMD="`which java`"
   fi
 fi

if [ ! -x "$JAVACMD" ] ; then
 echo "Error: JAVA_HOME is not defined correctly; cannot execute: $JAVACMD"
 exit 1
fi


java  -javaagent:lib/jborat-agent.jar \
 -Dch.usi.dag.jborat.exclusionList="conf/exclusion.lst" \
  -Dch.usi.dag.jborat.liblist="conf/lib.lst" \
   -Dch.usi.dag.jp2.outputFilePrefix="output" \
   -Dch.usi.dag.jborat.instrumentation="ch.usi.dag.jp2.instrument.AddInstrumentation" \
   -Dch.usi.dag.jp2.dumpers="ch.usi.dag.jp2.dump.xml.XmlDumper" \
     -Dch.usi.dag.jborat.codemergerList="conf/codemerger.lst" \
      -Xbootclasspath/p:./lib/Thread_JP2.jar:lib/jborat-runtime.jar:lib/jp2-runtime.jar/jp2.jar/jborat-agent.jar/jborat.jar $* 

このプロファイラーを tomcat に含める方法を教えてください。

catalina.sh に CATALINA_OPTS="$CATALINA_OPTS -javaagent:run.sh" のようなものを書くことは可能ですか?

これに関して何か助けていただければ幸いです。

ありがとう。

以下のように setenv.sh に run.sh (プロファイラー) のオプションを追加しようとしましたが、うまくいきません。エラーは発生しませんが、サーバーが起動していません。どうしてか分かりません。

ここに私のsetenv.shファイルがあります:

 #!/bin/sh
export CATALINA_OPTS="java -javaagent:lib/jborat-agent.jar \
 -Dch.usi.dag.jborat.exclusionList="conf/exclusion.lst" \
  -Dch.usi.dag.jborat.liblist="conf/lib.lst" \
   -Dch.usi.dag.jp2.outputFilePrefix="output" \
   -Dch.usi.dag.jborat.instrumentation="ch.usi.dag.jp2.instrument.AddInstrumentation" \
   -Dch.usi.dag.jp2.dumpers="ch.usi.dag.jp2.dump.xml.XmlDumper" \
     -Dch.usi.dag.jborat.codemergerList="conf/codemerger.lst" \
      -Xbootclasspath/p:./lib/Thread_JP2.jar:lib/jborat-runtime.jar:lib/jp2-runtime.jar/jp2.jar/jborat-agent.jar/jborat.jar "
4

1 に答える 1

2

昨日、まったく同じ質問に答えました。簡単に言えば、これが必要です:

$ export CATALINA_OPTS="-javaagent:lib/jborat-agent.jar -Xss256m -Xms256m  \ -Dch.usi.dag.jborat.exclusionList="conf/exclusion.lst" \ -Dch.usi.dag.jp2.dumpers="ch.usi.dag.jp2.dump.xml.XmlDumper" \ -Xbootclasspath/p:./lib/Thread_JP2.jar:lib/jborat-runtime.jar:lib/jp2-runtime.ja‌​r"
$ $CATALINA_HOME/bin/startup.sh

それ以上必要な理由がわかりません。スクリプトは、一連のシステム プロパティを JVM ランチャーに追加するだけです$CATALINA_OPTS。それらをある程度永続的に設定したい場合は、に入れるexportと、bin/setenv.sh実行するたびにbin/startup.sh(さらに言えばbin/shutdown.sh)自動的に実行されます。

于 2012-07-24T14:04:36.650 に答える