JAVA -Xms500M -Xmx1800M -XX:+UseConcMarkSweepGC -classpath C:\XYZ\MY_installer\lib\jlex.jar;C:\XYZ\MY_installer\lib\antlr.jar;C:\XYZ\MY_installer\lib\mytemplate.jar;C:\XYZ\MY_installer\lib\log4j-1.2-api-2.0-beta8.jar;C:\XYZ\MY_installer\lib\log4j-api-2.0-beta8.jar;C:\XYZ\MY_installer\lib\log4j-core-2.0-beta8.jar;C:\WORKSPACES\delnaz\del_prj; -DENVFILE=C:\XYZ\MY_installer\bin\escat.ini utilities.graph.GraphDriver C:\XYZ\MY_installer "C:\WORKSPACES\delnaz\del_prj\del.prj" "C:\WORKSPACES\delnaz\del_prj" 1
问题:这是上面描述的 jar 环境所需的命令,如果我将最大堆大小 1400 更改为 1000,则该命令可以工作,尽管我知道 jar 不会对堆执行任何操作。但我想知道它发生变化的原因,或者可能是什么原因。
String cmdArr[] = {"cmd.exe", "/C" , cmdString};
ProcessBuilder pb = new ProcessBuilder(cmdArr);
Map<String, String> env = pb.environment();
env.put("PATH", System.getenv("PATH"));
env.put("ROOT", rootPath);
env.put("SYSTEMROOT", System.getenv("SYSTEMROOT"));
if(cmdString.endsWith("cfe.bat"))
pb.directory(new File("TextFiles"));
else
pb.directory(new File(Workspace_path));
process = pb.start();
java版本是:
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Client VM (build 23.21-b01, mixed mode, sharing)
Windows 7 Enterprise
RAM 4GB
32 bit OS
还有另一个策略: 我们需要 Maxheap 大小的原因是我们没有可以查看在标准选项上运行应用程序的选项。
最佳答案
这两个命令选项
-ms500M -mx1800M
应该是
-Xms500M -Xmx1800M
关于java - 更改最大堆大小时命令未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626473/