【发布时间】:2013-12-17 05:19:10
【问题描述】:
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 大小的原因是我们是否没有可以查看以标准选项运行应用程序的选项。
【问题讨论】:
-
应该是
-Xms和-Xmx吗?
标签: java process heap-memory processbuilder