首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果Java一再崩溃,我能做什么?

如果Java一再崩溃,我能做什么?
EN

Stack Overflow用户
提问于 2008-10-22 10:46:40
回答 5查看 3.4K关注 0票数 4

如果以下条件为真,那么解决Java崩溃的最佳实践是什么:

  • 没有自己的或第三方的本地代码。100%纯java
  • 相同的程序运行在许多其他系统上,没有任何问题。

PS:对于VM崩溃,我的意思是VM编写一个像hs_err_pid1234.log这样的转储文件并终止。

EN

回答 5

Stack Overflow用户

发布于 2008-10-22 11:13:23

读取hs_err_pid1234.log文件(或任何错误日志文件名)。里面通常有线索。下一步取决于您在日志中发现了什么。

是的,它可能是您正在使用的JVM实现的特定版本中的一个bug,但我也看到了操作系统中的内存碎片所造成的问题。例如,Windows容易将dll引脚在不适当的位置,因此,当JVM请求时,Windows无法分配连续的内存块。其他的opf内存问题也可以通过这种类型的崩溃转储来表现出来。

票数 4
EN

Stack Overflow用户

发布于 2008-10-22 11:03:39

更新或替换JVM。如果您目前有最新版本,那么尝试一个旧版本,或者如果您没有最新版本,尝试更新它。也许这在你的特定版本中是个已知的问题?

票数 3
EN

Stack Overflow用户

发布于 2008-10-22 11:41:10

假设跨机器的JVM版本是相同的:

找出JVM崩溃的机器的不同之处。同样的OSOS版本?例如,我们在特定版本的Red上遇到JVM崩溃的问题。我们还发现一些旧的Red版本无法正确地处理额外的内存,导致交换空间耗尽。(我们的解决方案是升级RedHat)。

另外,程序是否在机器上做完全相同的事情?它是否访问共享文件系统?文件系统是否以类似方式安装在您的计算机(SMB/NFS等)上?一定是不一样的。

日志文件应该会让您了解崩溃发生的位置(例如,malloc)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/225207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档