近两周以来,我们面向公众的机器的 jvm 几乎每天都会崩溃,有时甚至会因内存不足错误而崩溃 当我查看 hs_err_pid24100.log 时,我看到了这条消息
内存不足,Java 运行时环境无法继续...
我还看到了当前线程“C2 CompilerThread0”,但我无法解释它是如何产生的。
我提供完整转储文件作为链接。是否有任何既定指南可供遵循来确定去哪里 开始找出这个问题的原因或如何解决它 http://tinyurl.com/jr7bhee
最佳答案
您有一台 12 GB 的机器,但是您使 JVM 更大了
-XX:PermSize=4096M ... -Xms4096m -Xmx10065m
仅 Perm gen 和堆就有 14 GB,再加上 1-2 GB 用于 JVM 和操作系统以及其他程序,您实际上总共使用了 26-28 GB。
所以内存不足。
Memory: 4k page, physical 12582388k(1970656k free), swap 16776692k(7036k free)
我建议
- 为您正在运行的应用程序安装至少 32 GB 内存或
- 使永久代更小,例如 1 GB,最大堆为 4 - 8 GB,然后退出计算机上的所有其他程序,它可能适合您拥有的 12 GB。
关于java - 查找 JVM 崩溃的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35995984/