用户中的内存不足错误通过 grails 中的提要导入

Posted

技术标签:

【中文标题】用户中的内存不足错误通过 grails 中的提要导入【英文标题】:out of memory errors in Users Import through feed in grails 【发布时间】:2012-03-17 01:56:57 【问题描述】:

我们有一个 grails 应用程序,我们正在通过 CSV 提要导入用户。用户域对象具有巨大的字段列表(总共 85 个)。我们正在使用 Hibernate api 编写导入功能......以插入用户表。 现在,如果我们从内存中的用户域对象加载大约 2000 个用户,我们就会出现内存不足错误。

有没有办法优化设计以消除内存不足的错误。就像在需要时不加载用户域的所有列一样加载每一列。如何减少内存消耗?

【问题讨论】:

我建议不要在 Web 应用程序中这样做。上传文件,然后有一个工作导入它。这行得通吗? 我们将在石英调度程序中运行此服务,而不是通过 ui 【参考方案1】:

看看 Ted Naleid 关于批处理的精彩文章:

http://naleid.com/blog/2009/10/01/batch-import-performance-with-grails-and-mysql/

文章的最后一部分(Grails Performance Tweaks)确实帮助我解决了类似的问题。添加“cleanUpGorm”函数并每 100 条记录运行一次,让我们可以处理数万条记录而不会出现内存问题。

【讨论】:

以上是关于用户中的内存不足错误通过 grails 中的提要导入的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat 7 中的内存泄漏 Grails 应用程序

我可以在没有数据源的情况下配置 Grails 吗?

使用用户组和角色时 Grails / Spring Security 中的错误 - 无法进行身份验证

如何覆盖 Grails 中的默认错误消息?

Java 中的电子邮件服务引发“内存不足”错误

由于堆大小增加,android中的内存不足错误