PhpStormの使用可能メモリを増やす方法(Windows7 64bit)
2016.09.21 最近のバージョンは PhpStormの使用可能メモリを増やす方法 - ah-2.com へ
PHPプロジェクトの開発にはJetBrainsのPhpStormを利用することが多くなった。
ただ、フレームワークを利用したりソースファイルが多いプロジェクトだと、PhpStormがもっさりする事もある。
その時にPhpStormの使用メモリを見てみると494MByteの上限いっぱいになっていることがある。 64bit OSを使っていてメモリも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が64bitとかに対応するまで待とうと思ったが、ふとPhpStormのフォルダを見るとPhpStorm64.exe 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 にしてみた。
-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オプションのドキュメント
-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.Java Platform, Standard Edition Tools Reference
java
そして、PhpStorm64.exeを起動してみると、メモリ上限が494Mから1981Mに増えている!
PhpStormのメニューから Help > aboutを表示してみると JVMも64bitのものが利用されているようだ。
なんとなく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版を起動するかを選択できます。