锁定老帖子 主题:memory exhausted
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-08
filename1 = "e:\\jxkh\\tools\\getKhbz.rb" file1 = open(filename1,'w') file1.print "def getKhbz(did)\n" file1.print " case did\n" cs = (1..2498).to_a for j in cs do str = " when '" + j.to_s + "';return '" + j.to_s + "';\n" file1.print str end file1.print " else\n" file1.print " return ''\n" file1.print " end\n" 然后我在运行getKhb.rb的时候,会出现: getKhbz.rb:2499: memory exhausted when '2497';return '2497'; 请问这样的问题如何解决,是内存不足吗? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-08
首先,你这个程序本身就有错,少了个end,也没close掉file1:
filename1 = "e:\\getKhbz.rb" file1 = open(filename1,'w') file1.print "def getKhbz(did)\n" file1.print " case did\n" cs = (1..100).to_a for j in cs do str = " when '" + j.to_s + "';return '" + j.to_s + "';\n" file1.print str end file1.print " else\n" file1.print " return ''\n" file1.print " end\n" file1.print " end\n" file1.close 其次,是内存耗尽了 |
|
返回顶楼 | |
发表时间:2007-04-08
谢谢dennis_zane,的确是少了一个end,但即使按照您说的,也会提示“memory exhausted ”错误!
因为我有个数据库需要从oracle转换到mysql,迁移数据的时候,会涉及到上面类似的函数(一个字典性的表记录大概有2万条),现在问题是如何解决这个"memory exhausted "的问题,请大家帮帮,再次感谢! |
|
返回顶楼 | |
发表时间:2007-04-08
我试了下,在2400条的时候还是可以运行的,超过2500条就内存耗尽了。为什么不分批导入呢?不知道还有没有其他解决办法,或者在linux系统不会有这样的问题,我是windows server 2003下测试的
|
|
返回顶楼 | |
发表时间:2007-04-09
俺的为何到20000条都没有任何错误呢。
|
|
返回顶楼 | |
发表时间:2007-04-09
李超群 写道 俺的为何到20000条都没有任何错误呢。
你的系统是什么? 我是windows 2003 server ,内存1G上测试的 |
|
返回顶楼 | |
发表时间:2007-04-10
李超群 写道 俺的为何到20000条都没有任何错误呢。
请问你是什么系统? filename1 = "e:\\getKhbz.rb" file1 = open(filename1,'w') file1.print "def getKhbz(did)\n" file1.print " case did\n" cs = (1..2500).to_a for j in cs do str = " when '" + j.to_s + "';return '" + j.to_s + "';\n" file1.print str end file1.print " else\n" file1.print " return ''\n" file1.print " end\n" file1.print " end\n" file1.close 然后 ruby getKhbz.rb 你是按照上面的来操作的吗? |
|
返回顶楼 | |
发表时间:2007-04-10
俺到1000000条也没有问题,生成文件都到35m了
xp 2g内存 我在只有512M内存的windows 2003试了,也没有问题 |
|
返回顶楼 | |
发表时间:2007-04-10
jjx 写道 俺到1000000条也没有问题,生成文件都到35m了
xp 2g内存 我在只有512M内存的windows 2003试了,也没有问题 生成文件当然是没有问题,问题是你ruby getKhbz.rb这样的时候有没有出现错误? |
|
返回顶楼 | |
发表时间:2007-04-10
生成文件当然没问题了,问题是执行生成的getKhbz.rb时候。请各位都看清楚楼主在问什么
|
|
返回顶楼 | |