我刚刚升级到IntelliJ IDEA 12.0
并在尝试启动后立即收到错误:
The JVM could not be started. The maximum heap size (-Xmx) might be too large or
an antivirus or firewall tool could block the execution.
我检查了我的idea.exe.vmoptions
文件,最大堆大小只有640米(我有8 GB物理内存,并没有运行任何其他应用程序)。
idea.exe.vmoptions
-Xms128m
-Xmx640m
-XX:MaxPermSize=640m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-ea
-Dsun.io.useCanonCaches=false
我的机器上仍然有IntelliJ IDEA 11.4
,我可以运行它(在idea.exe.vmoptions
中使用相同的max heapsize值)。自IntelliJ IDEA 11.4
运行以来,我不认为它是防病毒或防火墙问题。我也检查了这些设置。
任何人遇到这个或有任何想法(没有双关语)?
答案 0 :(得分:7)
答案 1 :(得分:5)
假设您使用的是Windows,我很好奇为什么在使用64位机器时运行32位版本的intellij?
我遇到了同样的错误,发现有两件事正在发生。第一个是我在任务栏中的链接指向idea.exe而不是idea64.exe,这意味着我只启动了32位版本的intelliJ。
其次,64位的vm选项还有另一个文件。 idea64.exe.vmoptions
在切换到64位exe并确保我想要的vm选项在vmoptions文件中是正确的之后我没有任何进一步的问题。
另一个有趣的说明我发现在32位机器上,当32位版本的intelliJ设置为1GB内存用于-Xmx并且我打开了chrome时,我会得到错误。如果我关闭了chrome,我将不再收到错误。我认为这与jvm有关,在启动之前验证所需的内存量是否可用。
答案 2 :(得分:3)
尝试将您的想法配置为默认值
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-ea
-Dsun.io.useCanonCaches=false
VM选项从IDE_HOME \ bin \ [bits] [.exe] .vmoptions文件加载。
答案 3 :(得分:1)
我发现从32位版本切换到64位版本导致了这个问题,因为我的Windows快捷方式仍然指向旧的idea.exe而不是正确的idea64.exe。