2回复
4年前
如何给Tomcat 实例配置jvm参数?
背景:
Java 程序在只有 shell 访问权限的 linux 服务器上运行。
使用的是 Tomcat 9。
问题:
添加参数 -XX:+HeapDumpOnOutOfMemoryError ,但是遇到 java.lang.OutOfMemoryError: Java heap space - error。
目标当然是为了出问题时候可以获取 heapdump,然后MAT 分析一下。
尝试:
网上看了一些教程,操作看起来很简单:
- 找到 $CATALINA_HOME
- 编辑 setenv.sh
- 添加类似:CATALINA_OPTS="${CATALINA_OPTS} -Dparam=-XX:+HeapDumpOnOutOfMemoryError"
- 重启Tomcat,你就设置好了!
但是因为目录结构总是不同的,一开始就是找不到那个 catalina 文件夹!
这是 ls 在 root 中提出的内容:
adminhome
backup
bin -> usr/bin
boot
dev
etc
home
lib -> usr/lib
lib64 -> usr/lib64
lost+found
media
mnt
opt
proc
root
run
**in -> usr/**in
srv
sys
tmp
usr
var
Java 程序(war)在 var/lib/tomcat9/webapps 中运行
后来找半天终于在/usr/share/tomcat9/ 里找到了 catalina 主文件夹,但没有配置文件或脚本
ls -l 给出了这些目录:
bin
/etc/tomcat9
conf -> /etc/tomcat9
/usr/share/java/tomcat9
/var/log/tomcat9
/var/cache/tomcat9/temp
webapps -> /var/lib/tomcat9/webapps
work -> /var/cache/tomcat9/work
程序应该已经有一些 JVM 参数,但是可能在 catalina 主目录之外的其他地方,那为什么没有 setenv.sh?
求教各位大佬的指点,问题在哪里~
921 阅读
