首页 > 解决方案 > 无法获取我的 Java 应用程序的致命错误日志

问题描述

帮助!我有一个在 Unix 上 24/7 运行的 Java 无头迭代计算密集型 servlet,之前的几个版本在大约一天左右后开始崩溃,而且我一辈子都无法获得崩溃日志/转储/指标任何形式的原因。任何 JVM 参数、关闭钩子等都无法帮助我获得任何关于可能发生的事情的日志。崩溃不是按命令可重现或不可预测的。大约每 20-30 小时发生一次。

操作系统:亚马逊 Linux AMI

硬件:AWS EC2 T3.medium 实例(4GB 内存)

JVM参数如下

到目前为止尝试的步骤:

我束手无策,只是试图获取崩溃日志以找出可能发生的情况。关于接下来要尝试什么的任何其他建议?

JVM 参数(在 app 主目录的 start.ksh 文件中,以 su 执行):

sudo -u arbadm java -cp ${CLASSPATH} -d64 -Xms2048m -Xmx2560m -Xloggc:../log/gc_ date +%F.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCCause -XX :+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=5M -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:ErrorFile=./hs_err_file_%p.log -Xss4096k -Dsun.java2d.d3d=false com.package 。主要的 &

标签: javaperformancecrash

解决方案


推荐阅读