2016.09.21 最近のバージョンはこちらへ
PHPStormのメモリを増やす方法(IntelliJ IDEA、PHPStorm、WebStorm)

PhpStorm logo

PHPプロジェクトの開発にはJetBrainsのPhpStormを利用することが多くなった。
ただ、フレームワークを利用したり、ソースファイルが多いプロジェクトとかだと、PhpStormがもっさりする事がある。
その時にPhpStormの使用メモリを見てみると494MByteの上限いっぱいになっていることがあるが、
64bitOSを使っていてメモリも12GB搭載されているので、PhpStormのメモリ上限がもっと増えてほしいものだ。
実は何度か上限を増やそうと試したことがあって、C:\Program Files (x86)\JetBrains\PhpStorm 8.0.3\bin\PhpStorm.exe.vmoptions を編集して、-Xmxを増やしたことがある。ただ、-Xmx1024mにすると
Error launching IntelliJ Platform
Failed to create JVM: error code -4
のエラーが表示されてしまい、PhpStormが起動できなかった。JavaVMの制約?のようだ。
phpstorm memory error Failed to create JVM

まぁ、PhpStormが64bitとかに対応するまで待ってようと思ったが、ふとPhpStormのフォルダを見るとPhpStorm64.exe PhpStorm64.exe.vmoptions というファイルがある。
PhpStorm64_exe_vmoptions

どうやら64bit版のようだ。
JetBrainsのTuning PhpStormにも

On Windows systems:
<PhpStorm installation folder>/bin/PhpStorm.exe.vmoptions
or
<PhpStorm installation folder>/bin/PhpStorm64.exe.vmoptions

と記載があるので使ってみても良いのではなかろうか?
早速試してみようと、64bitのjdk jdk-8u45-windows-x64.exeをJava SE Development Kit 8 Downloads
から取得してインストール。
C:\Program Files (x86)\JetBrains\PhpStorm 8.0.3\bin\PhpStorm64.exe.vmoptions
を編集する。
-Xms128m → 512m
-Xmx750m → 2048m
にしてみた。

PhpStorm64.exe.vmoptions
-Xms512m -Xmx2048m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=225m -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djsse.enableSNIExtension=false -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50

参考)-Xms,-Xmxオプションのドキュメント
https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html

java
Launches a Java application.

-Xmssize
Sets the initial size (in bytes) of the heap. This value must be a multiple of 1024 and greater than 1 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes.

The following examples show how to set the size of allocated memory to 6 MB using various units:

-Xms6291456
-Xms6144k
-Xms6m
If you do not set this option, then the initial size will be set as the sum of the sizes allocated for the old generation and the young generation. The initial size of the heap for the young generation can be set using the -Xmn option or the -XX:NewSize option.

-Xmxsize
Specifies the maximum size (in bytes) of the memory allocation pool in bytes. This value must be a multiple of 1024 and greater than 2 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes. The default value is chosen at runtime based on system configuration. For server deployments, -Xms and -Xmx are often set to the same value. See the section "Ergonomics" in Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide at http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html.

The following examples show how to set the maximum allowed size of allocated memory to 80 MB using various units:

-Xmx83886080
-Xmx81920k
-Xmx80m
The -Xmx option is equivalent to -XX:MaxHeapSize.

そして、PhpStorm64.exeを起動してみると、メモリ上限が494Mから1981Mに増えている!
PhpStorm 32bit 64bit memory比較

PhpStormのメニューから Help/aboutを表示してみると 一応JVMも64bitのものが利用されているようだ。
PhpStorm 32bit 64bit JVM 比較

なんとなくPhpStormが快適になったような気がするが、しばらく問題がないか試使用してみよう。
PhpStormをアップデートするとき、PhpStormショートカットが新規に作成されるとPhpStorm.exeを指していると思うので注意。
※ 2015/07/09 PhpStorm9でもC:\Program Files (x86)\JetBrains\PhpStorm 9.0\bin\PhpStorm64.exe.vmoptionsを編集することでメモリ上限が増えました。
※ 2015/11/14 PhpStorm10.0.1でもC:\Program Files (x86)\JetBrains\PhpStorm 10.0.1\bin\PhpStorm64.exe.vmoptionsを編集することでメモリ上限が増えました。(Windows 10環境)

※ 2016/4/16 PhpStorm2016.1ではインストール中に64bit版を起動するかを選択できます。PhpStrom2016.1_64bitlauncher

phpstorm2016_shortcut