如题,线上centos64位系统, jdk1.6, 在负载极小的时间段,出现Java进程突然退出的现象,并且无任何错误日志(包括@AntonyBi提到的hs_err_pid.log)。请教如何分析定位并解决此问题。
业精于勤,荒于嬉;行成于思,毁于随。
启动java时把输出重定向到文件,java xxx >> logfile 2>&1; echo $? >> logfile。另外有时java退出是coredump了,ulimit -c 把core打开。
这种情况一般都是程序崩溃了,所以在log日志中是看不到的。
但是在调用程序运行的所在目录下会看到hs_err_pid.log的文件,那个里面会崩溃时jvm的信息以及栈信息等,那个可以帮助你分析崩溃原因。
有的时候JNI出错会把整个进程全杀死 这个就看经验了。。
有没有请求日志,可以看到退出前最后一个请求是什么。多做一下压力测试,看看会不会崩溃。
sudo dmesg -T | grep "(java)" 不谢~
启动java时把输出重定向到文件,java xxx >> logfile 2>&1; echo $? >> logfile。另外有时java退出是coredump了,ulimit -c 把core打开。
这种情况一般都是程序崩溃了,所以在log日志中是看不到的。
但是在调用程序运行的所在目录下会看到hs_err_pid.log的文件,那个里面会崩溃时jvm的信息以及栈信息等,那个可以帮助你分析崩溃原因。
有的时候JNI出错会把整个进程全杀死 这个就看经验了。。
有没有请求日志,可以看到退出前最后一个请求是什么。多做一下压力测试,看看会不会崩溃。
sudo dmesg -T | grep "(java)"
不谢~