我想用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“?
我真的很感谢在这方面的任何帮助。
谢谢。
我尝试向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 "发布于 2012-07-24 22:04:37
我已经回答了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.jar"
$ $CATALINA_HOME/bin/startup.sh我不明白您为什么需要更多:您的脚本只是向JVM启动器添加了一堆系统属性:您可以使用$CATALINA_OPTS来完成这项工作。如果您想永久地设置它们,将export放入bin/setenv.sh,它将在您每次运行bin/startup.sh (以及bin/shutdown.sh )时自动运行。
https://stackoverflow.com/questions/11629820
复制相似问题