PhpStormのメモリ使用量を増やして高速化

2013年3月24日

PhpStorm

つい先日、メジャーバージョンが上がり、バージョン 6 になった PhpStorm。何となく重くなったような気がするのでメモリ割り当て数を 1536MB に増やしてみました。

動作確認環境

  • PhpStorm 6.0

目次

  1. メモリ割り当ての数を増やすには
  2. vmoptions の内容を変更してメモリ割り当てを増やす
  3. 各種パラメータのざっくり説明
  4. 効果はあったか?
  5. Windows はエラーが出た

メモリ割り当ての数を増やすには

公式マニュアルを探したところ、以下のページにチューニングについて解説がありました。

Tuning PhpStorm

マニュアルによると、vmoptions という設定ファイルで PhpStorm のメモリ割り当てを変更できるようです。各 OS の vmoptions の場所は以下の通りです。

Windows の場合

<PhpStorm installation folder>/bin/PhpStorm.exe.vmoptions

Linux64bit の場合

<PhpStorm installation folder>/bin/phpstorm64.vmoptions

Mac の場合

~/Library/Preferences/WebIde60/idea.vmoptions

Mac の idea.vmoptions はデフォルトでは存在しないので、/Applications/PhpStorm.app/bin からコピーして持ってきます。

$ cp /Applications/PhpStorm.app/bin/idea.vmoptions ~/Library/Preferences/WebIde60/idea.vmoptions

vmoptions の内容を変更してメモリ割り当てを増やす

vmoptions の中身をみてみると、eclipse.ini と同じような感じです。以下のように変更しました。

-Xms128m
-Xmx800m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

-Xms512m
-Xmx1536m
-XX:MaxPermSize=512m
-XX:ReservedCodeCacheSize=128m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

各種パラメータのざっくり説明

Xms
起動時のヒープサイズ。起動時のメモリ割り当て数。

Xmx
最大ヒープサイズ。この値までヒープは拡大する。Xms と同じ値にするとヒープサイズ調整時のオーバーヘッドがなくなり、パフォーマンスが向上することがある。

XX:MaxPermSize
クラスファイルをメモリ上にロードするための領域として使用される。一般にこれらの値が小さいとGCが頻発するので大きめに設定する。

ReservedCodeCacheSize
予約コードキャッシュサイズ。実は、何に使っているかよく分からない。

効果はあったか?

検証した MacBookAir の環境では、設定変更前の PhpStorm の使用メモリ数は 800MB くらいで頭打ちだったのが、1300MB 後半まで増加しました。起動速度やコーディング時の速度は、体感的に目立った変化は得られませんでした。メモリ使用量より IO の負荷のほうがが高いのかもしれませんね。

memory-view

Windows はエラーが出た

手持ちの Windows7 64bit版 で試したところ、xmx を 512MB 以上に設定するとエラーで起動しませんでした。PhpStorm に同梱されている JRE が 32bit 版のため、あまり大きな値に変更することはできないようです。解決方法は別の記事にしました。

PhpStorm
WindowsのPhpStormを64bit版JDKで動作させる方法

前回、Windows7 の PhpStorm6.0 で、メモリ割り当て数を増したところエラーとなりましたが、解決策が見つ ...

続きを見る

-技術ブログ
-