tcl1122
tcl1122
2010-12-06 14:23

做excel导入时 内存溢出 求牛人指点

已采纳

现正在做excel导入功能
但是每次执行到

book = Workbook.getWorkbook(theFile.getInputStream());
这一步时 就出现内存溢出

在网上搜索结果比较茫然, 症结在于 JVM内存太小
通过tomcate statu 查看jvm内存:

[img]http://dl.iteye.com/upload/attachment/361571/292f9279-d55f-32a5-8bb6-bd36fddee06a.bmp[/img]

于是修改了 myeclipse 安装目录下的:
eclipse.ini 文件 内容如下:
[code="java"]
-showsplash
com.genuitec.myeclipse.product
--launcher.XXMaxPermSize
256m
-vmargs
-Xms256m
-Xmx512m
-Dosgi.splashLocation=C:\Program Files\MyEclipse 6.0\eclipse\MyEclipseSplash.bmp
-Duser.language=en
-XX:PermSize=512M
-XX:MaxPermSize=512M
[/code]

还吧tomcat安装目录下的catalina.bat中的
[code="java"]%CATALINA_OPTS%[/code]
全部修改成
[code="java"]-Xms64m -Xmx512m[/code]

然后又把myeclipse的快捷方式 目标项
[img]http://dl.iteye.com/upload/attachment/361583/3f5174ae-570a-3365-93a8-c74d6ff4bbd6.bmp[/img]

修改成
[code="java"]E:\development\eclipse3.3\eclipse.exe -product com.genuitec.myeclipse.product.ide -vmargs -Duser.language=en -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M[/code]


运行时依然还是内存溢出 通过查看jvm 依然是开始

[img]http://dl.iteye.com/upload/attachment/361571/292f9279-d55f-32a5-8bb6-bd36fddee06a.bmp[/img]

小弟却是无招了 还望牛人指导。小弟感激不尽 分确实少 但就这么多了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • beneo beneo 11年前

    [quote]大哥 按您的做了 这结果依旧
    这原因到底是什么了 JVM的显示 还是64M
    [/quote]

    有什么好急的?你tomcat启动以后,你之前设置的错误jvm参数都没有报错,那我估计tomcat参数设置应该不再这里的。

    你试试在argument里面设置看看

    点赞 评论 复制链接分享
  • Wang_Cheng_Bing Wang_Cheng_Bing 11年前

    你现在配的是 Enviroment ,
    你应该配到:Arguments.

    点赞 评论 复制链接分享
  • beneo beneo 11年前

    -Xms是最小阿,-Xmx是最大的,你设置错了,都设置成512就好了

    点赞 评论 复制链接分享
  • beneo beneo 11年前

    tomcat的内存不是eclipse的内存,显然你放错了地方

    myeclipse应该有tomcat的vm arguemnt设置的参数,找到然后设置就好了

    点赞 评论 复制链接分享

相关推荐