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
上一篇:Kubernetes中Nginx服务启动失败排查流程分析(Error: ImagePullBackOff)
栏 目:其它服务器
下一篇:如何配置CentOS系统以限制并发连接和防止拒绝服务攻击
本文地址:https://zz.feitang.co/server/30072.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





