1.linux使用tomcat部署项目,无法查看项目一些运行信息,比如堆栈内存,线程,类,一些基本信息等等。
2.借助jdk自带工具jconsole 查看
1.更改tomcat 启动文件 startup.sh(最好先备份一下,以防不测)
2.在then后面添加代码(ip端口任意指定,但不能被占用)
JAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024M -XX:+UseG1GC -Xss10M -Xms4096M -Xmx8192M "
JAVA_OPTS="$JAVA_OPTS -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=//heapdump -Dcom.sun.management.jmxremote.port=9005 -Dcom.sun.management.jmxremote.rmi.port=9005 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.29.24"
3.打开jconsole
4.连接远程(远程就连接远程ip端口,本地项目运行时,会自动检测到本地运行的项目,如果tomcat在windows系统运行,那么不需要配置tomcat,只需要打开windows服务器中的jdk自带的jconsole,会自动进入相关进程中)
5.查看运行情况
6.代码部分解释
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9005 这个是配置远程 connection 的端口号的,要确定这个端口没有被占用
-Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否启用 ssl
-Dcom.sun.management.jmxremote.authenticate=false 指定了JMX 是否启用鉴权(需要用户名,密码鉴权)
-Djava.rmi.server.hostname=192.168.29.24 这个是配置 server 的 IP 的