【问题标题】:Java show error java.lang.OutOfMemoryErrorJava 显示错误 java.lang.OutOfMemoryError
【发布时间】:2017-03-09 16:03:30
【问题描述】:

我下载了Parsemis 程序。它是从java创建的频繁子图挖掘程序。我在 parsemis 中使用的数据非常大。

我尝试通过添加 -Xmx4096M 在 Windows10 中运行 java parsemis,它显示这样的错误。这个问题的原因是什么?如何解决?

java -Xmx4096M -jar parsemis-2008-12-01.jar --graphFile=graph_all.lg --outputFile=output.lg --minimumFrequency=10%

它显示像这样的错误。

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at de.parsemis.graph.HPListGraph.<init>(HPListGraph.java:207)
        at de.parsemis.graph.HPListGraph.clone(HPListGraph.java:378)
        at de.parsemis.graph.HPListGraph.clone(HPListGraph.java:41)
        at de.parsemis.algorithms.gSpan.RightMostExtension.add(RightMostExtension.java:110)
        at de.parsemis.algorithms.gSpan.RightMostExtension.extend(RightMostExtension.java:213)
        at de.parsemis.algorithms.gSpan.RightMostExtension.call(RightMostExtension.java:150)
        at de.parsemis.miner.chain.GenerationStep.call(GenerationStep.java:94)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.call(GSpanGeneration.java:101)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:210)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:187)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)
        at de.parsemis.algorithms.gSpan.GSpanGeneration.searchEmbeddings(GSpanGeneration.java:213)

【问题讨论】:

  • 你的电脑需要更多内存?
  • 尝试使用较低的 Xmx 值,例如 2048。
  • 之前的两个cmets都可能是对的。但是你需要硬数据。我会分析它

标签: java graph-theory subgraph


【解决方案1】:

尝试分块执行,可能是因为一块代码永远不会超出范围内存空间没有被释放,作为回报,操作系统会在一段时间后介入,终止程序并尝试释放内存位置.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 2021-05-06
    • 1970-01-01
    • 2013-12-20
    • 2010-09-07
    • 2018-02-21
    相关资源
    最近更新 更多