2016-02-25 41 views
4

我与服务器上的Java的openmpi(64GB内存),工作排序一个大整型数组(长度为1十亿)。 但是,当我增加数组的长度,我得到这个错误:错误“无法写入核心转储”?

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

...

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

什么是核心转储?什么可能是导致这个错误的错误?以及如何解决这个错误?

+0

JVM是用C写这似乎是用C语言编写的本机功能出现了问题,该操作系统尚未配置保存转储... –

+0

这可能意味着内存JVM的思想被保留了下来,它并没有真正可用。你确定你需要对BigInteger进行排序,因为它们比使用'long'或'int'要慢得多,而且使用的内存要多得多。我会尽量减少JVM堆的大小。 –

+0

我不是指BigInteger数组,而是整数类型的大数组。 @PeterLawrey – user3625605

回答

2

“核心转储(使用Unix的说法),内存转储或系统转储[1]包含计算机程序在特定时间工作内存的记录状态,通常是程序崩溃或以其他方式终止异常“作为维基百科的解释。请参照https://en.wikipedia.org/wiki/Core_dump

I think this exception occurs because of java run out of memory.pls refer http://stackoverflow.com/questions/18078859/java-run-out-of-memory-issue