【问题标题】:java.lang.OutOfMemoryError: GC overhead limit exceeded when reading large PDF file using itext PdfReaderjava.lang.OutOfMemoryError:使用 itext PdfReader 读取大型 PDF 文件时超出 GC 开销限制
【发布时间】:2021-03-24 16:54:24
【问题描述】:

我正在尝试使用 PDFReader 读取 pdf 文件并重新排序页面。它适用于尺寸较小但尺寸超过 200MB 的 PDF。它失败并出现以下错误

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.lowagie.text.pdf.MappedRandomAccessFile$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.lowagie.text.pdf.MappedRandomAccessFile.clean(Unknown Source)
at com.lowagie.text.pdf.MappedRandomAccessFile.close(Unknown Source)
at com.lowagie.text.pdf.RandomAccessFileOrArray.close(Unknown Source)
at com.lowagie.text.pdf.PRTokeniser.close(Unknown Source)
at com.lowagie.text.pdf.PdfReader.readPdf(Unknown Source)
at com.lowagie.text.pdf.PdfReader.<init>(Unknown Source)
at com.lowagie.text.pdf.PdfReader.<init>(Unknown Source)

我使用的是itext java 2.1.7版本

【问题讨论】:

  • 需要调试细节:代码和PDF。此外,iText 2.1.7 已有十多年的历史,并且不再受支持。
  • 此外,您可能还想检查为 JVM 分配了多少堆内存并使用 VisualVM 之类的工具对其进行分析。
  • 是的 itext 2.1.7 太旧了,但由于许可部分用于商业用途,我不能妥协使用这个版本
  • 您使用什么 Java 版本?您是否已使用 -Xmx VM 参数?如果使用,它们是什么?
  • 是的,我们确实定义了 -Xmx 参数,即 2048m,我观察到如果值设置为低于 4096m,它会崩溃

标签: java itext


【解决方案1】:

尝试使用 -Xmx 扩展正在运行的 Java 的堆内存。

看看https://alvinalexander.com/blog/post/java/java-xmx-xms-memory-heap-size-control/,了解 Xmx 是如何使用的。

【讨论】:

    【解决方案2】:

    使用-Xmx 扩展堆内存可能会有所帮助(正如 Pablo 所建议的那样),但您还应该查看您的代码并了解它为什么会产生这么多垃圾以及为什么您的代码略低于“内存不足”标记.这可能是代码损坏的迹象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 2020-09-08
      • 2020-07-24
      • 1970-01-01
      • 2019-06-29
      • 2015-04-25
      相关资源
      最近更新 更多