MetaMap java.lang.OutOfMemoryError: Java 堆空间

horcle_buzz

我们java.lang.OutOfMemoryError: Java heap space在运行 MetaMap(使用 Java API 和 UIMA 包装器)时不断遇到错误。

不幸的是,日志的信息量并不大,所以我们不知道它在哪个文件上呕吐。

过去,当 MetaMap 遇到管道 ( |) 符号时,我们遇到过创建巨大圆形注释的问题但是,我们使用的文件集(MIMIC 注释)不包含任何管道符号。是否有其他字符可能表现出与管道符号类似的行为?

我们可以增加系统 RAM 来规避堆空间问题(实际上无法使用最大设置堆,设置为 6 GB,因为系统 RAM 是有限的),但我们更想知道是什么导致了问题,尤其是从那时起,输出文件的大小更易于管理。

* 编辑 *

澄清一下:我们增加了 JVM 的内存资源,这确实有助于实际推送数据(这是在本地 VM 上测试的)。MetaMap 的问题在于它创建了大量的循环注释,这些注释会占用 JVM 资源(并且在我们当前的系统上,OS RAM 不是最佳的)。

正如我在下面的评论中所指出的,我们对文件进行了预处理,以去除任何会引发错误的字符。不过,堆空间错误有点烦人,因为与我们遇到的其他错误(例如,围绕一个单独句点的空间,如text . text)不同,这些错误只会抛出一个解析错误以及抛出错误的文本。对于管道符号,我们通过增加 RAM(在我们最初测试的 VM 上)然后查看 UIMA 查看器中的注释来找到它。我们能够识别有问题的文件,因为带有循环注释的 XMI 的输出文件大小非常大。

我们再次在 VM 上运行一些测试以查看我们是否可以识别问题,但是如果有人有 MetaMap 经验来帮助我们识别任何问题字符或字符序列,那将是可取的。

* 编辑 2 *

内存应该不是问题。我们正在使用export JAVA_TOOL_OPTIONS='-Xms2G -Xmx6G -XX:MinHeapFreeRatio=25 -XX:+UseG1GC'

我们正试图解决循环注释的一个基本问题。这是在吞噬资源和呕吐。

horcle_buzz

解决方案有两个:

有一个需要设置的 UIMA JVM 环境变量,如 export UIMA_JVM_OPTS="-Xms128M -Xmx5g"

其次,有一个 MetaMap 开关,可以减少创建注释的递归深度(在 MetaMapApiAE.xml 配置文件中):

<configurationParameterSettings>
    ... previous settings omitted ...
   <nameValuePair>
     <name>metamap_options</name>
     <value>
       <string>--prune 30</string>
     </value>
   </nameValuePair>
</configurationParameterSettings>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.OutOfMemoryError:Java堆空间

java.lang.OutOfMemoryError:Java堆空间

java.lang.OutOfMemoryError:Java堆空间?

OutOfMemoryError Java堆空间

Eclipse Java 1.8 java.lang.outofmemoryerror:Java堆空间

获取“ java.lang.OutOfMemoryError:Java堆空间”

java.lang.OutOfMemoryError:Maven中的Java堆空间

错误java.lang.OutOfMemoryError:Java堆空间

java.lang.OutOfMemoryError:带有蜂巢的Java堆空间

PySpark:java.lang.OutofMemoryError:Java堆空间

kafka.server.KafkaServerStartable-java.lang.OutOfMemoryError:Java堆空间

如何修复java.lang.OutOfMemoryError:Java堆空间错误?

mongo toLIst() java.lang.OutOfMemoryError: Java 堆空间

java.lang.OutOfMemoryError:Java堆空间异常

java.lang.OutOfMemoryError:大型Excel文件的Java堆空间

java.lang.OutOfMemoryError:Java堆空间Hadoop Ubuntu

水壶问题java.lang.OutOfMemoryError:Java堆空间

AWS Glue java.lang.OutOfMemoryError:Java堆空间

使用opencsv-java.lang.OutOfMemoryError:Java堆空间

严重:Java堆空间java.lang.OutOfMemoryError:Java堆空间

在Eclipse中增加堆空间:(java.lang.OutOfMemoryError)

IntelliJ Idea提供java.lang.OutOfMemoryError:即使增加堆大小后,Java堆空间错误

如何解决java.lang.OutOfMemoryError:Java堆空间而不增加堆内存大小

java.lang.OutOfMemoryError:Java堆空间没有更多空间

如何增加分配给Java的内存?java.lang.OutOfMemoryError:Java堆空间

计划任务中发生意外错误。java.lang.OutOfMemoryError:Java堆空间

java.lang.OutOfMemoryError:Payara和Eclipse上的Java堆空间

Pyspark-java.lang.OutOfMemoryError:写入csv文件时的Java堆空间

Elasticsearch:java.lang.OutOfMemoryError之后重启节点:Java堆空间