用于选择40万条记录的java堆大小错误

时间:2009-12-11 12:49:05

标签: java mysql

我的电脑上有2GB的内存。它是一个窗户7 使用eclipse for java 当我运行一个程序在mysql数据库上运行一个选择查询与0.4百万条记录时,它给出了堆大小错误。 这是我现在的eclipse.ini

-vmargs
-Xmx1000m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=64m

我能做什么?

2 个答案:

答案 0 :(得分:1)

您是在Eclipse插件中运行查询还是使用Eclipse运行Java程序?在后一种情况下,eclipse.ini中的设置不会被继承。您必须在应用的启动配置中重复此操作。

答案 1 :(得分:1)

编辑:你在谈论你的eclipse.ini?您当然应该使用调试配置来指定参数:

运行>调试配置...> [您的配置]>参数> VM参数

一排多大? 1000 MB / 400,000条记录=每行最多2.5 KB(因为你不能使用整个堆,它会少一些)。

<击>

(注意我使用1MB = 10 ^ 6字节)

行很小,使用-XX:+ HeapDumpOnOutOfMemoryError运行应用程序并使用MAT 分析生成的堆转储