JVM在libjvm.so中经常因Sigsegv Java致命错误而崩溃
JVM Crashing frequently with SIGSEGV Java Fatal Error in libjvm.so
libjvm.so中有类似的stackoverflow问题。
这是一个在Apache Tomcat下运行的大型应用程序(〜30GB)。似乎总是会因相同的错误消息而失败,该消息似乎位于JVM C 代码中:
V [libjvm.so+0x643ee4] InstanceKlass::find_method_index(Array<Method*>*, Symbol*, Symbol*, bool, bool)+0x14
我包括了完整的Java核心转储。
https://drive.google.com/open?id=0b0rh8nwt2krystllew9dckw3a3c
任何人都可以向我指出正确的方向,即使如何开始解决这个问题。我试图将JDK升级到最新版本级别(JDK 1.8版本144),无济于事。
查看转储,似乎当热点试图进行优化时发生了问题。因此,我检查了您在启动期间设置的Java属性,并且有一些影响:
-Xnoclassgc
据我所知,这与Java 8无用。与
相同 -XX:MaxPermSize=256m
您正在更改用于使用TP G1
的垃圾收集器。
-XX:+UseG1GC
这可能与崩溃有关,因此我的建议是更改返回使用默认设置。如果撞车事故消失,G1不适合您的申请。
,正如我在评论中提到的那样,您需要清理WebApp的Lib-directory。有许多不同版本的重复库,例如bcprov-jdk14-140.jar
和bcprov-jdk14-1.38.jar
,bcmail-jdk14-139.jar
和bcmail-jdk14-1.38.jar
,...这不会以您所看到的方式崩溃您的应用程序,但是当试图从版本1.39的BCMail加载邮件级时,它应该导致签名验证检查失败。与版本1.40的BC-Provider合作时。
相关文章:
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 在java中解决这段代码时面临循环中的问题
- 尝试用java代码编译和运行c++代码
- 在这种情况下,java对象是否可以调用本机函数
- 在java中读取c++字节的位字段
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 使用已使用 java 编码的 openssl 解码数据
- SIGSEGV 使用shared_ptr引用时
- SWIG Java 在使用 -DSWIGWORDSIZE64 时将int64_t转换为 jlong
- Android Java USB for native cpp
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- C++ equivalent to Java Map getOrDefault?
- C++ 中的 Java 样式枚举
- 是否有技术原因阻止 Java 中的 final C++ 像 const 一样严格?
- 加密在 Windows、C++ 和 Java 中传输中的数据
- JVM在libjvm.so中经常因Sigsegv Java致命错误而崩溃
- 从java调用本机方法时使用Libc SIGSEGV
- 从Android NDK SIGSEGV调用Java方法
- JNI,从C++调用Java,在CallObjectMethod上调用SIGSEGV
- Android c++上的Qt与Java的互操作性在SIGSEGV为void或基本返回类型时失败