欢迎来到深圳市云网时代信息技术有限公司|云网时代数据中心! 业务咨询热线:0755-88868179增值电信业务经营许可证:B1-20170628
行业新闻
当前位置:首页>文章中心>行业新闻

服务器应用程序被莫名其妙被K,该怎么办?

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

是什么导致JAVA进程被终止?

Java应用程序问题:OOM导致进程崩溃

JVM本身故障:JVM或JDK自身的错误导致进程崩溃

OMN-Killer按操作系统

服务器应用程序被K怎么处理

如何解决问题?

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.log

根据错误消息,您可以转到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。如果有其他疑问可以咨询云网时代客服了解,云网时代专业提供深圳服务器租用,深圳服务器托管,深圳主机租用,云服务器租用等服务。

在线客服