PHPStorm / Webstorm将内存增加到512MB以上

时间:2014-08-28 10:02:03

标签: jvm out-of-memory phpstorm webstorm windows-7-x64

我在PHPStorm Win7 64bit下使用64bit Java (latest version I guess)并正在使用一个疯狂的大而混乱的项目。有许多类包含10k LOC或更多。因此我的PHPStorm偶尔会耗尽内存。

我得到了这个很好的Out-of-Memory对话框,建议增加我的内存设置。我目前已经设置了PhpStorm.exe.vmoptions

-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50

问题是:当我增加内存以便在此文件中使用时,启动程序时出现以下错误:

  

创建JVM失败:错误代码-4

我用Google搜索,但似乎没有人希望记忆比512MB 更强

有没有人知道我可以做些什么来再次使用PHPStorm而没有任何麻烦?

当然,我可以重置缓存,但这不是一个永久的解决方案,对吧?

我在某处读到将这一行添加到我的vmoptions是一个好主意,但我认为没有任何区别:

-server
....
-XX:MinHeapFreeRatio=15

7 个答案:

答案 0 :(得分:88)

更改PHPStorm的内存设置现在有一个菜单选项:enter image description here

答案 1 :(得分:44)

确保PhpStorm使用64位Java而不是捆绑的(32位)。您可以在Help | About中查看。

一般来说:使用64位Java,您不必更改该值,因为与32位Java相比,它的工作方式有点

1) PhpStorm捆绑了x86 Java,它是第一个尝试的;然后它会查找其他Java安装 - 检查PhpStorm.bat以获取详细信息(环境变量和顺序)。通过定义其中一个环境变量(指向您的64位Java安装),您可以告诉PhpStorm使用而不是捆绑的。

2) PhpStorm v8 (目前处于EAP阶段)附带64位特定文件:您应该使用PhpStorm64.exe而不是PhpStorm.exe (对于.vmoptions文件也是如此 - 它应该是PhpStorm64.exe.vmoptions)。

我不确定PhpStorm v7如何与64位Java一起工作 - 我从未尝试过这种方式。


选择IDE将在

下运行的JDK版本

https://intellij-support.jetbrains.com/entries/23455956-Selecting-the-JDK-version-the-IDE-will-run-under

答案 2 :(得分:30)

阅读这篇文章后,我切换到64位版本(安装正确的JDK后)并将指定内存增加到2GB只是为了关闭它。但我仍然达到了上限,冻结了等等。

最终意识到,我跟踪了bower_components文件夹。这样的文件夹有大量的javascript-files等。基本上会吃掉世界上所有的公羊(我现在也排除了node_modules文件夹,同样的故事)。所以我右键单击了文件夹>将目录标记为>已排除。经过一些垃圾收集后,PhpStorm的内存占用量降至5-600mb,这似乎是合理的。

答案 3 :(得分:11)

PhpStorm 2016.1及更新

从PhpStorm 2016.1开始,而不是WEBIDE_JDK_64应该使用应该指向您的JVM路径的JAVA_HOME环境变量。

PhpStorm 2016.1之前的版本

就像在@LazyOne的答案中提到的那样,从PhpStorm v8(已经发布)开始,你可以使用PhpStorm64.exe。但我无法找到有关如何为其指定JVM路径的任何说明。解释如何选择JDK版本的文档似乎有点过时了。

经过一些研究,我发现你应该创建应该指向JRE 64位安装路径的WEBIDE_JDK_64环境变量。完成此操作后,您将能够启动PhpStorm64.exe。

默认情况下,它将最大内存设置为750mb。如果您需要更多,可以修改C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions。但是,更好的想法是编辑用户的vmoptions文件。只需将C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions复制到%USERPROFILE%\.IntelliJIdea12\idea.vmoptions并将-Xmx750m设置为更高的值。

答案 4 :(得分:4)

只需File> Invalidates Caches / Restart...适合我。

答案 5 :(得分:1)

我发现应用程序中的日志文件由于出现错误而在几秒钟内从几KB增长到超过2 GB。 Webstorm试图索引这个2 GB的日志文件并耗尽内存。删除日志文件解决了问题(然后修复错误阻止了日志文件的增长)。

在此之前,我还尝试运行x64 JDK并将XMX增加到2048.但最终,具有2048 MB的64位环境还不够(尽管之前512 MB总是足够)。

答案 6 :(得分:0)

Help -> Change Memory Settings -> Update Maximum Heap Size 到所需的值。这对我来说是固定的问题。