tomcat 启动时卡住问题排查

正常项目无法访问(Linux 服务器),启动tomcat时卡在下图位置,项目无法启动。

1、先检查tomcat日志、项目日志没有报错信息,且没再产生新的日志信息。

2、jdk、tomcat 、 jvm 配置,服务器环境、内存、存储没有问题。

3、使用jconsole 检查启动线程

(1)修改tomcat  catalina.sh

JAVA_OPTS 中加入以下参数
-Dcom.sun.management.jmxremote.port=8989 //连接端口,自定义不要与已有的端口冲突
-Dcom.sun.management.jmxremote.rmi.port=8989 //这句一定要添加,不添加就无法成功
-Dcom.sun.management.jmxremote.authenticate=false //不需要密码登陆
-Dcom.sun.management.jmxremote.ssl=false //不需要安全证书
-Djava.rmi.server.hostname=10.10.1.1"//服务器的ip

(2)另一台运维windows服务器上进入cmd终端输入jconsole。远程进程,不需要输用户名、口令,连接。

 

查看 localhost-startStop-1 线程,发现锁定信息

java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)   

   - 已锁定 java.lang.Class@2eaf5c32

确定问题原因:

        如果程序采用到Java.awt进行图形处理,这就需要系统提供一个可供图形处理的图形环境,此Linux没有该环境,这样就会导致运算错误。需要启用headless模式,headless模式是在缺少显示屏、键盘或者鼠标是的系统配置。

解决办法:

       在tomcat环境下修改catalina.sh

       在JAVA_OPTS中加上一句 -Djava.awt.headless=true

%s 个评论

要回复文章请先登录注册