最近在调试程序时老是出 Java heap space 不足的错误。网上很多方法加大 jvm 的内存,如改 tomcat 启动脚本、环境变量等等,均告无效。
何以说无效。
创建一个观察网页,mem.jsp
- <b>mem</b><br>
- total: <%= Runtime.getRuntime().totalMemory() %> free : <%= Runtime.getRuntime().freeMemory() %> max: <%= Runtime.getRuntime().maxMemory() %>
- <hr>
运行后发现,jvm 最大内存才 64M,而程序启动后就用掉了 30 多兆。
随后想到,或者可以在 Run Dialog 里修改环境变量。不幸的是,在 mem.jsp 观察到的结果还是 64M。
注意到起那么有一个 Arguments 的选项,其中共有 VM arugements 一项。在该处设置,终于成功!
参数前的 D 表示要传到 VM