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版本
现在更改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总是足够的)。