错误:无法创建Java虚拟机

错误:无法创建Java虚拟机,java,netbeans,Java,Netbeans,我已经访问了所有与我的问题相关的现有问题,但我仍然有一个问题。所有安装都已正确安装。我正在使用最新的Netbeans版本。执行程序后,我出现以下错误: 错误:无法创建Java虚拟机。 初始化VM时出错 无法为对象堆保留足够的空间 错误:发生致命异常。程序将退出。 我的Netbeans.conf是: # ${HOME} will be replaced by JVM user.home system property netbeans_default_userdir="${HOME}/.netb

我已经访问了所有与我的问题相关的现有问题,但我仍然有一个问题。所有安装都已正确安装。我正在使用最新的Netbeans版本。执行程序后,我出现以下错误:

错误:无法创建Java虚拟机。
初始化VM时出错
无法为对象堆保留足够的空间
错误:发生致命异常。程序将退出。
我的Netbeans.conf是:

# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="${HOME}/.netbeans/7.1.2"
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms16m -J-XX:PermSize=16m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"
# Note that default -Xmx and -XX:MaxPermSize are selected for you automatically.
# You can find these values in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx or
# -J-XX:MaxPermSize= here or on the command line.
# If you specify the heap size (-Xmx) explicitly, you may also want to enable
# Concurrent Mark & Sweep garbage collector. In such case add the following
# options to the netbeans_default_options:
# -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled J-XX:+CMSPermGenSweepingEnabled
# (see http://wiki.netbeans.org/FaqGCPauses)
# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="C:\Arquivos de programas\Java\jdk1.7.0_07"
# Additional module clusters, using ${path.separator} (';' on Windows or ':' on Unix):
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"
# If you have some problems with detect of proxy settings, you may want to enable
# detect the proxy settings provided by JDK5 or higher.
# In such case add -J-Djava.net.useSystemProxies=true to the netbeans_default_options.
#${HOME}将被JVM user.HOME系统属性替换
netbeans\u default\u userdir=“${HOME}/.netbeans/7.1.2”
#默认情况下,NetBeans启动器使用的选项可以由显式
#命令行开关:
netbeans_default_options=“-J-client-J-Xss2m-J-Xms16m-J-XX:PermSize=16m-J-Dapple.laf.useScreenMenuBar=true-J-Dapple.awt.graphics.UseQuartz=true-J-Dsun.java2d.NodeDraw=true-J-Dsun.zip.disableMemoryMapping=true”
#请注意,默认的-Xmx和-XX:MaxPermSize是自动为您选择的。
#您可以在userdir的var/log/messages.log文件中找到这些值。
#自动选择的值可以通过指定-J-Xmx或
#-J-XX:MaxPermSize=此处或命令行上。
#如果显式指定堆大小(-Xmx),可能还需要启用
#并发标记和清除垃圾收集器。在这种情况下,添加以下内容
#netbeans\u默认\u选项的选项:
#-J-XX:+UseConcMarkSweepGC-J-XX:+CMSClassUnloadinged J-XX:+CMSClassWeapingEnabled
#(见http://wiki.netbeans.org/FaqGCPauses)
#JDK的默认位置,可以使用--jdkhome:
netbeans_jdkhome=“C:\Arquivos de programas\Java\jdk1.7.0_07”
#其他模块群集,在Windows上使用${path.separator}(“;”或在Unix上使用“:”):
#netbeans_extraclusters=“/absolute/path/to/cluster1:/absolute/path/to/cluster2”
#如果在检测代理设置时遇到一些问题,则可能需要启用
#检测JDK5或更高版本提供的代理设置。
#在这种情况下,将-J-Djava.net.useSystemProxies=true添加到netbeans\u default\u选项中。
我该怎么办?我一整天都在试图解决这个错误。我的系统内存是3Gb

-J-Xss2m-J-Xms16m-J-XX:PermSize=16m

这些都是不足的价值。尝试将其从16Mb增加到512Mb(或1Gb)

无法为对象堆保留足够的空间

这几乎总是意味着您的
-Xmx
对于机器来说太高了。上面有一条信息:

#请注意,默认的-Xmx和-XX:MaxPermSize是自动为您选择的


尽量提供明确的价值,从小处着手。请注意,
-Xms
必须小于或等于
-Xmx

对于上述问题,我们有两种解决方案

解决方案1:您可以重新安装所有组件。这意味着你已经安装了整个软件。 错误:无法创建Java虚拟机

解决方案2:最大堆大小取决于机器体系结构(例如32位或64位)、JVM位大小(例如32位JVM或64位JVM)和操作系统

在32位机器中,虽然最大堆大小的理论限制为4GB,但不同操作系统的最大堆大小有所不同,例如,在32位windows XP上,由于各种原因,最大堆大小限制高达1.5G,而在64位Solaris机器上,即使使用32位JVM,您也可以负担大约3.5GB。所以,当您在32位WindowsXP机器上运行以下java命令时

解决方案3:在提供堆空间时,另一个值得注意的语法错误是数值文本和单位之间的空间,如下例所示:

Correct: ~/java java -Xmx1500 M
In-correct:   ~/java java -Xmx1500MB
In-Correct:  ~/java java -Xmx 1400M 

启动
Netbeans

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

我多次尝试重新启动
Netbeans
。重复同样的错误。后来我发现它正在发生,因为其他一些应用程序已经在使用
JVM
。所以我寻找这样一个应用程序,它是
Tomcat服务器
。我终止了
Tomcat
并再次尝试启动
Netbeans
,一切正常。因此,请尝试寻找任何使用
JVM

的应用程序。我用不同的值进行了检查,但相同。您尝试了哪些值?问题是:你必须给它更多的空间,否则它不能正常启动。此外,起始值不应太大,但最大值必须足够大。试着按照答案说:将-J-Xms16m改为-J-Xms80m,-J-XX:PermSize=16m改为-J-XX:PermSize=80m,然后添加-J-Xmx512m和-J-XX:maxPermSize=512m(甚至1024m),这意味着512字节、1024字节和256字节512m、1024m和256m,以及2m-8m-10m等小值仍然存在问题,直到1024m为止,都是相同的错误,你最近从Java6切换到Java7了吗?我也遇到了同样的问题@rwoo是的,我从Java6切换到了java7@ahmed如果对您+1指定
正确
以正确
方式指定
-Xmx
选项有效,请接受任何答案。有时这会变得很大,明白了。