Jvm 最大堆大小从java 6减少到java 7?

Jvm 最大堆大小从java 6减少到java 7?,jvm,heap,Jvm,Heap,目前我们遇到了一个问题,我们的java应用程序可以使用JRE6顺利运行,但对于JRE7,它有时会报告“无法创建java虚拟机”,并且无法启动程序。我们在启动命令行中有“-Xmx1024m”选项 在谷歌搜索后,人们建议检查PC中可以请求的最大堆大小。然后我尝试了以下方法 对于JRE6 C:\Users\joey>java -Xmx1214m -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.

目前我们遇到了一个问题,我们的java应用程序可以使用JRE6顺利运行,但对于JRE7,它有时会报告“无法创建java虚拟机”,并且无法启动程序。我们在启动命令行中有“-Xmx1024m”选项

在谷歌搜索后,人们建议检查PC中可以请求的最大堆大小。然后我尝试了以下方法

对于JRE6

C:\Users\joey>java -Xmx1214m -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode)

C:\Users\joey>java -Xmx1215m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
对于JRE7

D:\Program Files\Java\jre7\bin>java.exe -Xmx930m -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)

D:\Program Files\Java\jre7\bin>java.exe -Xmx931m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
当我关闭PC中的大多数进程并将内存释放到2.5GB时,对于JRE7,它将成功实现1094m,如下所示

D:\Program Files\Java\jre7\bin>java.exe -Xmx1094m -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)

D:\Program Files\Java\jre7\bin>java.exe -Xmx1095m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
JVM可以请求的最大堆大小似乎与系统可用内存大小有关,有人知道确切的关系吗

在创建JVM时,是否有某种方法可以启用JRE的跟踪日志

谢谢大家!

问候,,
Joey

我在各种Windows操作系统flavous(Win7、Win2008R2)上遇到了同样的问题,但在从jre6_20切换到jre7_51(均为32位虚拟机)时,却有足够的可用RAM(3-5G)

在Java6上使用vm args-Xmx1300m和-XX:MaxPermSize=256m,vm就可以启动了。然而,对于java7,为了能够启动VM,我必须降低启动最大内存(xmx为100m或permgen为100m)

有趣的是:如果我重新启动我的机器,JVM7以原始vm参数(-Xmx1300m和-XX:MaxPermSize=256m)启动,因此我怀疑根本原因可能是操作系统与jvm的组合

我知道,在Windows操作系统上-预期只有一大块内存,但无法使用最大进程内存大小将在1.4G到1.6G之间(由于其他限制)


有什么疑难解答吗?Oracle没有在java7发行说明中提供任何信息(或者我无法发现这些信息)

我在Windows 7 64位上也有类似的问题,没有JAVA\u HOME set,也没有PATH 这失败了 “C:\ProgramFiles(x86)\Java\jdk1.7.0\u 51\bin\Java.exe”-Xms32m-Xmx1024m-XX:MaxPermSize=256m-version

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
这很有效 “C:\ProgramFiles(x86)\Java\jdk1.7.0\u 51\bin\Java.exe”-Xms32m-Xmx512m-XX:MaxPermSize=256m-version

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
这也可以(我可以重新编译,也可以不重新编译,没有什么区别) “C:\ProgramFiles(x86)\Java\jdk1.6.0\u 45\bin\Java.exe”-Xms32m-Xmx1024m-XX:MaxPermSize=256m-版本

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
我试着关掉windows DEP,但没什么不同

我玩弄虚拟内存设置,从允许Windows管理更改为

我在windows中增加了虚拟内存,它允许它工作,有时…(使用xmx1024)

其他任何东西都不会消耗大量资源(内存等,我确实让oracle数据库在本地运行,但关闭了它)

“C:\ProgramFiles(x86)\Java\jdk1.7.0\u 51\bin\Java.exe”-Xms32m-Xmx1024m-XX:MaxPermSize=256m-version 初始化VM时出错 无法为对象堆保留足够的空间 错误:无法创建Java虚拟机。 错误:发生致命异常。程序将退出

这很有效 “C:\ProgramFiles(x86)\Java\jdk1.7.0\u 51\bin\Java.exe”-Xms32m-Xmx900m-XX:MaxPermSize=256m-version

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
这失败了 U:>“C:\ProgramFiles(x86)\Java\jdk1.7.0\U 51\bin\Java.exe”-Xms32m-Xmx2024m-XX :MaxPermSize=256m-版本 初始化VM时出错 无法为对象堆保留足够的空间 错误:无法创建Java虚拟机。 错误:发生致命异常。程序将退出

新版本,甚至可以让Windows管理虚拟内存并打开DEP “C:\ProgramFiles(x86)\Java\jdk1.7.0\u 65\bin\Java.exe”-Xms32m-Xmx1024m-XX:MaxPermSize=256m-版本

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.