java.lang.OutOfMemoryError:DBeaver 中的 Java 堆空间 [重复]

Posted

技术标签:

【中文标题】java.lang.OutOfMemoryError:DBeaver 中的 Java 堆空间 [重复]【英文标题】:java.lang.OutOfMemoryError: Java heap space in DBeaver [duplicate] 【发布时间】:2019-02-24 18:44:11 【问题描述】:

我有一个大小为1047399KB.sql 文件,我试图在Windows10 上使用DBeaver 程序上的4.00GB RAM 运行它,我收到java.lang.OutOfMemoryError: Java heap space 错误

我尝试了许多解决方案,但都无法与我一起使用。 file.sql -Xms128m -Xmx512mfile.sql -vmargs -Xmx1024Mfile.sql -Xmx800m -Xms500m 都不适合我。

【问题讨论】:

一切都取决于下划线的 java 应用程序实现。如果它在处理之前尝试加载整个文件,则必须分配至少 2GB 的内存 我该怎么做? @马克西姆 您可能还幸运地修改了 dbeaver.ini 文件以增加堆大小。 @ZeyadEtman :根据dbeaver.io/forum/viewtopic.php?f=2&t=1162。我们可以将最大内存设置为 1GB。我尝试使用 2048 和 4096,但面临同样的问题。但是当我尝试使用“-vmargs -Xmx1024m”时效果很好。 【参考方案1】:

我遇到sameissue:每次得到它,你都必须分配更多的空间并首先运行DBeaver本身并带有额外的标志-vmargs -Xmx*m。将* 替换为20484096

关闭脚本时,DBeaver 似乎没有清除垃圾,因此我不得不多次重启应用程序以检查所需的正确内存量。

@Timothy Jannace 刚刚指出您也可以编辑dbeaver.ini。 Example.

【讨论】:

谢谢这解决了我的问题!对小型数据库的SELECT * FROM LEFT JOIN 测试实际上需要大约 2GB 内存,这有点令人担忧。 @NicholasHumphrey 好吧,我注意到 phpMyAdmin 在导入任务方面很方便,例如,比 DBeaver 和 HeidiSQL 更好。我假设本机软件必须提供更无缝的体验并超越 Web 应用程序的内存限制,但我猜特定的数据库软件并非如此。 我尝试将 1Crore 数据将重要的一个数据库复制到另一个数据库,但该工具没有响应。然后我在“.ini”文件中增加了内存参数,之后它成功导入。希望它对某人有帮助。 有人可以解释如何从命令行运行 DBeaver 吗?我正在使用 Mac OS 版本。它似乎是一个 .app 文件 @cryanbhu 编辑dbeaver.ini 文件,如here 所示。路径应该类似于/Applications/DBeaverEE.app/Contents/Eclipse/dbeaver.ini

以上是关于java.lang.OutOfMemoryError:DBeaver 中的 Java 堆空间 [重复]的主要内容,如果未能解决你的问题,请参考以下文章