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

问题描述 投票:0回答:7

我正在

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

我用谷歌搜索了一下,但似乎没有人希望记忆比512MB

更多

有人知道我可以做什么才能再次使用 PHPStorm 而不遇到任何麻烦吗?

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

我在某处读到,将这一行添加到我的

vmoptions
中是个好主意,但我没有看到任何区别:

-server
....
-XX:MinHeapFreeRatio=15
jvm out-of-memory phpstorm webstorm windows-7-x64
7个回答
107
投票

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


46
投票

确保 PhpStorm 使用 64 位 Java,而不是捆绑 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


36
投票

读完这篇文章后,我切换到64位版本(安装正确的JDK后)并将指定内存增加到2GB只是为了关闭它。但我还是碰到了天花板,冻结等等

最终意识到,我的

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


11
投票

PhpStorm 2016.1 及更高版本

从 PhpStorm 2016.1 开始,应该使用指向您的 JVM 路径的

WEBIDE_JDK_64
环境变量,而不是
JAVA_HOME

PhpStorm 2016.1 之前的版本

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

经过一番研究,我发现您应该创建

WEBIDE_JDK_64
环境变量,该变量应指向 JRE 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
设置为更高的值即可。


6
投票

简单地

File
>
Invalidates Caches / Restart...
对我有用。 👌😀


4
投票

Help -> Change Memory Settings -> Update Maximum Heap Size
至所需值。这对我来说解决了问题。


1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.