Mal*_*lki 8 java parameters garbage-collection cmd heap-memory
我有一个显然占用太多内存的.JAR,并抛出异常"Java堆空间"(或类似的东西).
所以我尝试通过CMD运行.JAR,如下所示:
C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m
Run Code Online (Sandbox Code Playgroud)
那并没有解决问题.同样的错误.现在,当我检查Windows任务管理器中的进程选项卡时,我注意到我的jar进程比我要求的内存少得多(与没有参数运行它相同).
为什么忽略参数?
此外,我认为异常是在进程达到100mb内存使用量的时候抛出的.GC是否有可能试图释放内存,这是导致问题的原因?我可以为GC设置任何参数来防止这种情况吗?
谢谢,Malki :)
Phi*_*ipp 25
命令
javaw -jar MyJar.jar -Xms64m -Xmx128m
Run Code Online (Sandbox Code Playgroud)
将使用-Xms ...和-Xmx ...作为"main(String [] args)"方法的参数.
参数到 JVM中必须在罐子部分之前进行传递:
javaw -Xms64m -Xmx128m -jar MyJar.jar
Run Code Online (Sandbox Code Playgroud)
当我们执行"java -version"时,可以看到原因:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
Run Code Online (Sandbox Code Playgroud)
您的参数-Xms ...和-Xmx ...是JVM的选项.