背景
最近有个服务运行几天就会莫名其妙的无法调用, 但使用jps -m|grep 服务名称
指令查看后发现服务进程仍然存在; 因此怀疑可能是有内存泄漏导致进程编程”僵尸”进程.
为此决定使用jconsole来对指定进程的JVM进行监控, 下面将详细介绍如何配置Linux JRE来监控内存.
修改启动脚本
在启动脚本中增加启动参数, 启动脚本可以是自定义的shell脚本或tomcat自带的脚本等等.
1 | JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.10.89 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=39700 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true" |
修改JRE
1 | # 切换到jdk的子目录 |
启动jconsole
启动程序脚本;
启动jconsole, 如下图;