无法使用-Xmx> 966m运行Java

我无法运行Java,如果我将XMX设置为967或更高的值。

C:\ Documents and Settings \ salesforce> java -Xmx967m -version VM初始化期间发生错误无法为对象预留足够的空间错误:无法创buildJava虚拟机。 错误:发生致命exception。 程序将会退出。

如果我运行相同的命令,但将Xmx设置为966,则会正确运行:

C:\ Documents and Settings \ salesforce> java -Xmx966m -version java版本“1.7.0_25”Java™SE运行时环境(build 1.7.0_25-b17)Java HotSpot™客户端VM(内部版本23.25-b01,模式)

执行命令之前3GB的RAM是可用的(任务pipe理器)。

环境:

  • Java 1.7.0_25 32位
  • Windows Server 2003 SP2,4GB RAM

谢谢

JVM使用的不仅仅是内部的堆大小。 根据你配置的东西(perm空间,线程堆栈大小,线程数量等等),这可能很容易占据几百MB。 你正在使用32位的jvm,所以最大的进程大小将在Windows 32位2GB,我相信。 我相信有办法扩大到3GB(例如http://dwf.blogs.com/beyond_the_paper/2009/04/enabling-3gb-switch-on-windows-vista.html对此有一些解释); 但是自从我处于这样的环境之中已经有一段时间了。 所以你可能正在接近极限。