Tomcat 需要在 JVM 启动时设置很多系统属性和类似的东西,因此脚本是必需的,除非您要使用“嵌入式 Tomcat”并使用Tomcat 的嵌入式驱动程序编写自己的启动驱动程序。
我认为这对于仅附加分析器来说太过分了。大多数分析器都带有一个 JVM “代理”,您可以使用-agentpath
命令行选项将其配置为在 JVM 启动时附加。这就是我附加 YourKit Java Profiler 的方式,例如:
CATALINA_OPTS="-agentpath:/path/to/yourkit/libyjpagent.so=${yourkit.options}"
$CATALINA_HOME/bin/startup.sh
这将以通常的方式启动 Tomcat,但包含 JVM 分析器代理,以便您随后可以附加到它。
更新以包含 OP 的示例
你想这样做:
$ 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
我鼓励您尽可能使用完整路径(例如,不要使用lib/jborat-agent.jar
-- 添加完整路径)。
请注意,通过使用-Xss256M
,您将线程堆栈大小设置为 256M 而不是堆大小。我怀疑你打算用来-Xmx256M
设置堆的最大大小。