我有一个.JAR,它显然占用了过多的内存,并引发了异常“ Java堆空间”(或类似的东西)。
因此,我尝试通过CMD运行.JAR,如下所示:
C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m
那没有解决问题。同样的错误。现在,当我检查Windows任务管理器中的“进程”选项卡时,我注意到我的jar进程的内存比我要求的要少得多(与不带参数运行它一样)。
为什么忽略参数?
另外,我认为在进程达到100mb的内存使用时间时会抛出异常。GC是否有可能试图释放内存,这是导致问题的原因?我可以为GC设置任何参数来防止这种情况吗?
谢谢,马尔基:)
命令
javaw -jar MyJar.jar -Xms64m -Xmx128m
将使用-Xms ...和-Xmx ...作为“ main(String [] args)”方法的参数。
参数到 JVM中必须在罐子部分之前进行传递:
javaw -Xms64m -Xmx128m -jar MyJar.jar
当我们执行“ java -version”时,可以看出原因:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
您的参数-Xms ...和-Xmx ...是JVM的选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句