...
(本文档仅供参考)
问题现象
1、web端突然无法正常使用,查看后台没有了进程。
2、打印的线程通常间隔10分钟打印,线程文件夹中看到某个时间没有打印线程,此时大概率是没有进程。
解决方案
没有进程通常是JDK崩溃或是应用服务器存在bug,故以下主要针对JDK崩溃导致提供相关解决方案。
...
解决方案:添加 -Djava.awt.headless=true 参数,避免因缺少改参数导致JVM崩溃。参数添加可以参考wiki文档:应用服务器JVM参数配置。
注:此原因导致JDK崩溃,一般不会生成"hs_err_pidxxxx.log"的文件。
通过应用服务器bin目录下名称是"hs_err_pidxxxx.log"的文件(一般JVM崩溃应用服务器会自动生成文件)进一步分析问题原因,以下为两个遇到过的示例:的文件(一般JVM崩溃应用服务器会自动生成文件)进一步分析问题原因(可根据 Possible reasons 下的内容百度查找相关报错原因),以下为两个遇到过的示例:
报错:
代码块 |
---|
# Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit |
...
原因二:内存设置的最大值(xmx)大于服务器物理内存空闲的值,此时JDK无法正常使用,则出现崩溃情况。
解决方案:建议增大服务器物理内存;若实在无法增加服务器内存,可减少xmx值,但该值建议是配置16G及以上,关于系统环境配置可以参考wiki文档:系统环境要求。
报错:
代码块 |
---|
# Problematic frame: # C [libtcnative-1.so.0.2.16+0x15d4b] Java_org_apache_tomcat_jni_Socket_sendbb+0x1b |
...
解决方案:建议更新libtcnative-1.so文件,若更新文件无效,建议从tomcat应用服务器中移除该文件。(此文件存放于tomcat应用服务器bin目录下)
报错:
代码块 |
---|
# JRE version: OpenJDK Runtime Environment (8.0_275-b01) (build 1.8.0_275-b01)
# Java VM: OpenJDK 64-Bit Server VM (25.275-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libapr-1.so.0+0x1f9db] apr_pool_destroy+0xb |
原因四:据了解目前tomcat启用了APR协议(smartbi启动后可从tomcat日志中查看,如下图),根据以往经验,若是tomcat启用APR协议,可能会引发某些JDK的BUG,可尝试从tomcat应用服务器中移除文件 tcnative*.* (此文件存放于tomcat应用服务器bin目录下);若方便更换JDK,也可尝试更换JDK。
Viewtracker |
---|