java 进程崩溃_Java应用程序崩溃

我一直在研究一个大型的Java应用程序.它非常平行,并使用几个fixedThreadPools(每个都有8个线程).我在一台有2个内核的计算机上运行它,每个内核有4个处理器.我的程序正在分析大量数据,并且在每组之后保存(序列化)分析,尽管它在数据集之间工作,因此每次运行新数据时都会重新加载(然后保存).

我的问题是:在运行4-5个数据集(大约需要2天,我对编码效率非常满意)之后,它会在第5组完全相同的时间后崩溃(无论哪个数据集都是如此)我用).该程序是重复的,因此此时代码中没有任何新内容.它是可重复的,我不知道该怎么做.我可以发布完整的错误日志,如果这将有所帮助…我明白这个问题是模糊的,没有更多的详细信息,但如果有任何建议的建议,将不胜感激.

我一直在测试不同的设置,看看是否有什么帮助,现在我正在使用以下参数运行.

-Xmx6g -Xmx12g -XX:UnlockExperimentalVMOptions -XX:UseG1GC

谢谢,

#

# A fatal error has been detected by the Java Runtime Environment:

#

# SIGSEGV (0xb) at pc=0x0000000000000000, pid=18454, tid=140120548144896

#

# JRE version: 7.0_03-b147

# Java VM: OpenJDK 64-Bit Server VM (22.0-b10 mixed mode linux-amd64 compressed oops)

# Derivative: IcedTea7 2.1.1pre

# Distribution: Ubuntu precise (development branch), package 7~u3-2.1.1~pre1-1ubuntu2

# Problematic frame:

# C 0x0000000000000000

#

# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

#

# If you would like to submit a bug report, please include

# instructions on how to reproduce the bug and visit:

# https://bugs.launchpad.net/ubuntu/+source/openjdk-7/

#

解决方法:

我会用类似Visual VM的东西来测试它.它会在你的应用程序运行时实时显示内存,线程,CPU,创建的对象等等.

我的好版本仅适用于Oracle / Sun JVM. JDK附带了一个,但我不认为它显示的安装所有插件的版本1.6.3都要详细.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值