0

尝试在 Java 应用程序中打开一个大文件(大约 128KB)会导致 Map Failed 错误:

> java.io.IOException: Map failed     at
> uk.ac.starlink.table.QueueTableSequence.nextTable(QueueTableSequence.java:79)
>     at
> uk.ac.starlink.table.StarTableFactory$1.nextTable(StarTableFactory.java:990)
>     at
> uk.ac.starlink.table.gui.TableLoadWorker.run(TableLoadWorker.java:143)
> Caused by: java.io.IOException: Map failed  at
> sun.nio.ch.FileChannelImpl.map(Unknown Source)  at
> uk.ac.starlink.fits.SimpleMappedInput.<init>(SimpleMappedInput.java:41)
>     at
> uk.ac.starlink.fits.InputFactory$2.createInput(InputFactory.java:130)
>     at
> uk.ac.starlink.fits.BintableStarTable$RandomBintableStarTable.<init>(BintableStarTable.java:550)
>     at
> uk.ac.starlink.fits.BintableStarTable.createTable(BintableStarTable.java:399)
>     at
> uk.ac.starlink.fits.FitsTableBuilder.attemptReadTableData(FitsTableBuilder.java:424)
>     at
> uk.ac.starlink.fits.FitsTableBuilder.attemptReadTable(FitsTableBuilder.java:393)
>     at
> uk.ac.starlink.fits.FitsTableBuilder.access$000(FitsTableBuilder.java:46)
>     at
> uk.ac.starlink.fits.FitsTableBuilder$MultiLoadWorker.multiLoad(FitsTableBuilder.java:588)
>     at
> uk.ac.starlink.fits.FitsTableBuilder$MultiLoadWorker.run(FitsTableBuilder.java:567)
> Caused by: java.lang.OutOfMemoryError: Map failed   at
> sun.nio.ch.FileChannelImpl.map0(Native Method)  ... 10 more

我尝试在此站点上搜索答案,但我能找到的唯一类似案例是将代码加载到框架中。以这个为例,Java Large File Uploads throws java.io.IOException: Map failed。我正在使用的应用程序是一个 .jar 文件(更多信息在这里 - http://www.star.bris.ac.uk/~mbt/topcat/),我试图加载的文件是 .jar 文件。适合类型。

你能给我一些关于这个问题的建议吗?我正在使用 JRE 构建 1.8.0_73

更新:该错误似乎仅在我增加最大堆大小时出现。保持默认设置时一切正常。

4

0 回答 0