64bit Java (latest version I guess)
でWin7 64bit
の下でPHPStorm
を使用しており、現在非常に大きく混bigとしたプロジェクトに取り組んでいます。 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
私はグーグルで調べましたが、誰もメモリをmore512MB
にしたくないようです。
手間をかけずにPHPStormを使用するために私ができることを誰か知っていますか?
もちろん、キャッシュをリセットできますが、これは永続的な解決策ではありませんよね?
私はどこかでこの行をvmoptions
に追加するのは良い考えだと読みましたが、違いは見当たりません。
-server
....
-XX:MinHeapFreeRatio=15
PhpStormが64ビットJavaを使用し、バンドルされているもの(32ビット)ではないことを確認してください。あなたは_Help | About
_でそれをチェックします。
一般的に言えば、64ビットJavaを使用すると、32ビットとは異なる方法で1ビット動作するため、その値を変更する必要はありません。
1)PhpStormにはx86 Javaがバンドルされており、最初に試行されます。その場合にのみ、他のJavaインストールを探します-詳細については_PhpStorm.bat
_を確認してください(環境変数とその順序)。これらの環境変数の1つ(64ビットJavaインストールを指す)を定義することにより、バンドルされている環境変数の代わりに使用するようPhpStormに指示できます。
2)PhpStormv8(現在EAP段階)には64ビット固有のファイルが付属しています:_PhpStorm64.exe
_を使用する必要があります_PhpStorm.exe
_ではありません(_.vmoptions
_ファイルと同じ-_PhpStorm64.exe.vmoptions
_である必要があります)。
PhpStorm v7が64ビットJavaでどのように機能するかはわかりません。自分でこの方法で試したことはありません。
IDEが実行されるJDKバージョンを選択する
この投稿を読んだ後、64ビットバージョンに切り替え(正しいJDKをインストールした後)、指定されたメモリをシャットダウンするために2GBに増やしました。しかし、私はまだ天井にぶつかり、フリーズなど。
やがて、_bower_components
folderが追跡されました。このようなフォルダには、javascript-filesなどが大量にあります。基本的に世界のすべてのラムを食べます(私もnode_modules
フォルダーになりました、同じストーリー)。そこで、フォルダを右クリックし、[ディレクトリをマークする]> [除外]を選択しました。いくつかのガベージコレクションの後、PhpStormのメモリフットプリントを5〜600 MBに下げましたが、これは妥当と思われます。
PhpStorm 2016.1以降
PhpStorm 2016.1では、_WEBIDE_JDK_64
_の代わりにJVMパスを指す_Java_HOME
_環境変数を使用する必要があります。
PhpStorm 2016.1より前のバージョン
@LazyOneの回答で述べたように、PhpStorm v8(既にリリース済み)の時点で、PhpStorm64.exeを使用できます。しかし、JVMパスを指定する方法についての説明を見つけることができませんでした。 JDKバージョンの選択方法を説明するドキュメントは、少し古くなっているようです。
調査を重ねた結果、JRE 64ビットインストールパスを指す_WEBIDE_JDK_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
_をより高い値に設定するだけです。
単にFile
> Invalidates Caches / Restart...
私のために働く。 ????????
バグが原因で、数秒で数KBから2 GBを超えるログファイルがアプリケーションに見つかりました。 Webstormはこの2 GBのログファイルのインデックスを作成しようとして、メモリが不足していました。ログファイルを削除することで問題は解決しました(そしてバグを修正すると、ログファイルが大きくなりませんでした)。
これに先立ち、x64 JDKを実行してXMXを2048に増やしました。しかし、最終的には2048 MBの64ビット環境では十分ではありませんでした(以前は常に512 MBで十分でした)。