PHPStorm/Webstorm increase memory to more than 512MB
Solution 1
Make sure that PhpStorm use 64-bit Java and not bundled one (which is 32-bit). You an check that in Help | About
.
Generally speaking: with 64-bit Java you do not have to change that value as it works a bit differently compared to 32-bit one.
1) PhpStorm comes with bundled x86 Java and it is the first one that it tries; only then it looks for other Java installations -- check PhpStorm.bat
for details (what environment variables and in which order). By defining one of those environment variables (which will point to your 64-bit Java installation) you can tell PhpStorm to use instead of bundled one.
2) PhpStorm v8 (currently in EAP stage) comes with 64-bit specific files: you should use PhpStorm64.exe
and not PhpStorm.exe
(same for .vmoptions
file -- it should be PhpStorm64.exe.vmoptions
).
I'm not sure how PhpStorm v7 works with 64-bit Java -- have never tried it this way myself.
Selecting the JDK version the IDE will run under
Solution 2
Changing memory settings for PHPStorm now has a menu option:
Solution 3
After reading this post, I switched to 64bit version (after installing correct JDK) and increased designated memory to 2GB just to shut it up. But I still hit the ceiling, freezes et.c.
Eventually realized, that I had my bower_components
folder tracked. Folders like this with tons of javascript-files et.c. will basically eat all ram in the world (I also exclude node_modules
folder now, same story). So I right-clicked the folder > Mark directory as > Exluded. After some garbage-collection, bumped PhpStorm's memory footprint down to 5-600mb, which seems reasonable.
Solution 4
PhpStorm 2016.1 and newer
As of PhpStorm 2016.1 instead of WEBIDE_JDK_64
one should use JAVA_HOME
environment variable that should point to your JVM path.
Versions prior PhpStorm 2016.1
Like it was mentioned in the @LazyOne's answer, as of PhpStorm v8 (already released), you can use PhpStorm64.exe. But I wasn't able to find any description on how to specify the JVM path for it. The document that explains how to select the JDK version, seems to be a bit outdated.
After some research, I discovered that you should create WEBIDE_JDK_64
environment variable that should point to the JRE 64-bit installation path. After doing this, you will be able to start PhpStorm64.exe.
By default it sets max memory to 750mb
. If you need more, you can modify the C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions
. The better idea, however, would be to edit your user's vmoptions file. Just copy C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions
to %USERPROFILE%\.IntelliJIdea12\idea.vmoptions
and set -Xmx750m
to a higher value.
Solution 5
Simply File
> Invalidates Caches / Restart...
works for me. 👌😀
![Ron](https://i.stack.imgur.com/5zChO.jpg?s=256&g=1)
Comments
-
Ron almost 2 years
I'm using
PHPStorm
underWin7 64bit
with64bit Java (latest version I guess)
and working currently on an insanely big and chaotic project. There are many classes containing10k LOC
and more. Therefore myPHPStorm
runs out of memory once in a while.I get this nice
Out-of-Memory
dialog suggesting increasing my memory settings. I currently have set in myPhpStorm.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
The problem is: When I increase my memory to be used in this file I get the following error when starting the program:
Failed to create JVM: Error code -4
I Googled around but nobody seems to want the memory to be more than
512MB
.Does anybody know what I can do to use PHPStorm without any hassle again?
Sure, I can reset the cache but this is not a permanent solution, right?
I read somewhere that adding this line to my
vmoptions
is a good idea, but I don't see any difference:-server .... -XX:MinHeapFreeRatio=15
-
Ron almost 10 yearsI seems that it doesn't like the 64bit at all. I added the
WEBIDE_JDK
enviroment var and now nothing is happening when I want to start the program... -
LazyOne almost 10 yearsintellij-support.jetbrains.com/entries/… -- maybe you have provided wrong path?
-
Ron almost 10 yearsI'm pretty sure I have the right path... But the v8 seems to work and I can manipulate the memory settings! Do you know if this option is good to use:
XX:MinHeapFreeRatio=15
? -
LazyOne almost 10 yearsSorry -- not a Java/JVM person, at all.
-
Michael J. Calkins about 9 yearsIn order to solve this one it was a combination of this answer and the bottom answer.
-
G. Ghez about 9 yearsThank for information, I just do this for WebStorm and it's working better now.
-
Buttle Butkus over 8 yearsI had an 81MB xdebug profiler output I tried to open in PhpStorm 9.0.2. After over 10 minutes of trying, it gave me "out of memory" error. I realized I was running 32 bit PHPS. I increased Xmx to 2048 from 512, but then PHPS32 wouldn't start an all (why?). I tried PHPS64, but I was missing the JDK, so it wouldn't start either. After installing 64 bit JDK from here (oracle.com/technetwork/java/javase/downloads/…), PHPS64 started, but still ran out of memory after 10 minutes with default Xms of 750. But after I increased Xms to 2048, the profile opened in 2s!
-
manishie over 8 yearsCrazy memory/cpu usage has been killing me for weeks. This fixed it right away. Thanks!
-
steampowered about 8 yearsCurrently you must set the environment variable for the jdk OR edit the startup batch file. Then you must always start Webstorm with a batch file to use x64 (as of now). Here are IntelliJ's instructions for switching to the 64-bit JDK: intellij-support.jetbrains.com/hc/en-us/articles/…
-
Ron almost 8 yearsGood hint but the problem was that we couldn't increase the memory because of the 32bit limitations.
-
Ernestas Stankevičius almost 8 yearsI know, but though that maybe someone will need only to change memory and because SO is already like devs wiki.
-
v0d1ch almost 8 yearsyup mark directory -> excluded is a life saver, this needs to be in JetBrains docs
-
vknyvz about 7 yearsthanks, i got a $3k macbook pro with 16gb ram still slows down after 2-3 hours of work, increased to 2.5gb let's see how this works out.
-
ylastapis almost 7 yearsThx for the tip :)
-
Andrew about 6 yearsWow.... excluding vendor & giant asset folders. . . saved the day instantly, thanks! (PhpStorm)
-
Ron almost 3 yearsmaybe this is the modern way to go. my post is quite ancient :)
-
frutality about 2 yearsFew years ago excluding directories worked for me very well. But with 2022 version I had to really delete logs and other temp files from excluded directories to reduce memory usage. However it's different with node_modules: excluding this directory helps.