在tomcat服务器中添加Profiler脚本

时间:2012-07-24 11:23:35

标签: java tomcat profiling

我想用java profiler配置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”的内容?

我真的很感激任何帮助。

感谢。

我尝试将run.sh(profiler)的选项添加到setenv.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 "

1 个答案:

答案 0 :(得分:2)

我已经回答了your exact same question yesterday。简而言之,你想要这个:

$ 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)。< / p>