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

我正在使用Win7 64bit 64bit Java (latest version I guess)下的PHPStorm ,目前正在进行一个疯狂大而混乱的项目。 有很多类包含10k LOC和更多。 所以我的PHPStorm耗尽内存。

我得到了这个不错Out-of-Memory对话框,build议增加我的内存设置。 我目前已经在我的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 

问题是:当我增加我的内存在这个文件中使用时,我得到以下错误启动程序时:

无法创buildJVM:错误代码-4

我search了一下,但似乎没有人想要的内存超过512MB

有谁知道我可以做什么使用PHPStorm没有任何麻烦了吗?

当然,我可以重置caching,但这不是一个永久的解决scheme,对不对?

我读了一些地方,添加这条线到我的vmoptions是一个好主意,但我没有看到任何区别:

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

确保PhpStorm使用64位Java,而不是绑定一个(这是32位)。 您在“ Help | About Help | About

一般来说:对于64位Java,您不必更改该值,因为它与32位版本的工作方式有点不同。

1) PhpStorm捆绑了x86 Java,它是第一个尝试的; 只有这样它才会查找其他的Java安装 – 查看PhpStorm.bat了解详细信息(环境variables和顺序)。 通过定义其中一个环境variables(这将指向您的64位Java安装),您可以告诉PhpStorm使用,而不是绑定一个。

2) PhpStorm v8 (目前在EAP阶段)带有64位特定文件:你应该使用PhpStorm64.exe而不是PhpStorm.exe (对于.vmoptions文件是相同的 – 它应该是PhpStorm64.exe.vmoptions )。

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


selectIDE将运行的JDK版本

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

现在更改PHPStorm的内存设置有一个菜单选项: 在这里输入图像说明

看完这篇文章后,我切换到64位版本(安装正确的JDK后),并增加指定的内存为2GB只是为了closures它。 但是我仍然达到了天花板,冻结et.c.

最终意识到,我已经跟踪了我的bower_components文件夹。 这样的文件夹与吨的JavaScript文件et.c. 将基本上吃世界上所有的公羊(我现在也排除node_modules文件夹,同样的故事)。 所以我右键单击文件夹>标记目录为> Exluded。 经过一番垃圾收集,将PhpStorm的内存占用降低到了5-600mb,这似乎是合理的。

PhpStorm 2016.1及更新版本

从PhpStorm 2016.1开始,而不是WEBIDE_JDK_64应该使用指向JVMpath的JAVA_HOME环境variables。

之前的版本PhpStorm 2016.1

像@ LazyOne的回答中提到的那样,从PhpStorm v8(已经发布)开始,可以使用PhpStorm64.exe。 但是我无法find关于如何为它指定JVMpath的任何描述。 解释如何selectJDK版本的文档似乎已经过时了。

经过一番研究,我发现你应该创buildWEBIDE_JDK_64环境variables,指向JRE 64位安装path。 这样做后,您将能够启动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设置为更高的值即可。

简单的File > Invalidates Caches / Restart...适用于我。 👌😀

我在应用程序中发现一个日志文件,由于一个bug,在几秒钟内从几KB增长到超过2 GB。 Webstorm试图为这个2GB的日志文件build立索引并耗尽内存。 删除日志文件解决了这个问题(然后修复这个bug使日志文件不能增长)。

在此之前,我还尝试运行x64 JDK,并将XMX提高到2048.但是,最后一个拥有2048 MB的64位环境是不够的(尽pipe以前512 MB总是足够的)。