在过去的三个月中,由于各种原因,该公司的单个应用程序服务器(java)莫名其妙地被K,检查起来更加痛苦。是什么导致JAVA进程被终止?如何解决问题?在此处进行总结并与您分享:

是什么导致JAVA进程被终止?
Java应用程序问题:OOM导致进程崩溃
JVM本身故障:JVM或JDK自身的错误导致进程崩溃
OMN-Killer按操作系统
如何解决问题?
1. Java应用程序问题:OOM导致进程崩溃
这种情况主要取决于R&D代码的质量。我遇到过大约2次。在正常情况下,发生OOM异常时,JVM的GC将被回收,它不会直接导致JVM进程退出。如果存在出口,则可能是内存泄漏,结果是内存使用量越来越大。 。 。 。但是,此JVM的OOM引起的异常非常好。故障排除步骤如下:
步骤1:查看JVM参数-XX:+ HeapDumpOnOutOfMemoryError和-XX:HeapDumpPath = * / java.hprof
步骤2:检查转储文件是否根据HeapDumpPath指定的路径生成。
步骤3:如果有转储文件,请使用可视工具(例如VisualVM)进行分析。
2. JVM自身故障:JVM或JDK自身的错误导致进程崩溃
因为JDK本身是由错误引起的,所以会遇到这种情况。当JVM中发生致命错误时,将生成诸如hs_err_pid_xxx.log之类的文件。该文件包含导致jvm崩溃的重要信息。通过分析文件以定位崩溃的根本原因,可以改进它以确保系统稳定性。发生崩溃时,默认情况下该文件将生成到工作目录中。但是,可以通过jvm参数-XX:ErrorFile指定生成的路径,例如:
-XX:ErrorFile = / var / log / hs_err_pid
根据错误消息,您可以转到Java BUG数据库库以找到相应的BUG:
Https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8134389
OMN-Killer按操作系统
也曾经遇到过这种情况。 Linux内核具有一种称为OOM杀手(Out-Of-Memory Killer)的机制。此机制监视使用过多内存的进程,尤其是那些瞬间消耗大量内存的进程。为了防止内存耗尽,内核将终止进程。算了吧。您可以转到/ var / log / messages并打开系统错误日志。执行以下命令:
是什么导致JAVA进程被终止?
当然,您也可以转到内核日志进行查询。有时,在Linux系统或系统上运行的Java或其他进程可能会有一些无法解释的问题,例如突然挂断(例如突然重启)。我们在软件上找不到问题。在这一点上,我们应该怀疑硬件或内核问题。此时,我们可以执行dmesg | grep java命令查看:
是什么导致JAVA进程被终止?
完全有可能看到内核对进程做了正确的事情。
总结一下
上述异常的故障排除顺序通常是:Java应用程序问题-> JVM本身故障->操作系统的OSM-Killer。如果有其他疑问可以咨询南方联合客服了解,南方联合专业提供服务器租用,服务器托管,香港主机租用,云服务器租用等服务。
深圳服务器托管 深圳服务器租用 深圳主机托管 深圳主机租用 CDN加速 专线接入 独享带宽 数据中心机房机柜租用idc公司旧版网站登陆南方联合站点地图友情链接:裸金属服务器
Copyright © 2005-2020 深圳市南方联合科技有限公司 版权所有 备案号:粤ICP备05107047号 经营许可证编号:A2.B1-20170254 统一社会信用代码:91440300779894166R
售后服务技术支持
Q Q 支持:417706
电话支持:13528445704
邮箱支持:ok@souidc.com
备案专区
备案专员
备案咨询:0755-33905998