栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java VM:在1.6.0_17和1.6.0_18上均可重现的SIGSEGV,如何报告?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java VM:在1.6.0_17和1.6.0_18上均可重现的SIGSEGV,如何报告?

我升级到JDK 1.6_18时遇到类似的问题,似乎可以使用以下选项解决:

-server-Xms256m-Xmx748m-XX:MaxPermSize=128m-verbose:gc-XX:+PrintGCTimeStamps-Xloggc:/tmp/gc.log-XX:+PrintHeapAtGC-XX:+PrintGCDetails-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath="/tmp"-XX:+UseParallelGC-XX:-UseGCOverheadLimit# Following options just to remote monitoring with jconsole, useful to see JVM behaviour at runtime-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=12345-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false-Djava.rmi.server.hostname=MyHost

我仍然没有仔细检查(这是生产环境),但是我认为错误是由于两个原因造成的:

1)关于堆和/或永久空间的错误设置(我认为JDK 1.6在堆和永久空间中需要比以前的JVM版本更多的空间)导致OutOfMemoryError,但是

2)在错误的原始设置中有人写了

-XX:+HeapDumponOutOfMemoryError="/tmp"

并不是

-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath="/tmp"

因此,JVM可能无法编写heapdump,而我们仅得到了SIGSEGV(以前的版本在工作目录中写入了heap dump)。

也检查

-server -XX:+UseParallelGC-XX:-UseGCOverheadLimit
选项。我认为使用VM参数不是一种解决方法,而是正确的方法,因为垃圾收集器(不仅是)在1.5到1.6之间变化。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号