web-dev-qa-db-ja.com

PHPStorm / Webstormはメモリを512MB以上に増やします

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
49
Ron

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バージョンを選択する

https://intellij-support.jetbrains.com/entries/23455956-Selecting-the-JDK-version-the-IDE-will-run-under

44
LazyOne

PHPStormのメモリ設定の変更には、メニューオプションが追加されました: enter image description here

この投稿を読んだ後、64ビットバージョンに切り替え(正しいJDKをインストールした後)、指定されたメモリをシャットダウンするために2GBに増やしました。しかし、私はまだ天井にぶつかり、フリーズなど。

やがて、_bower_componentsfolderが追跡されました。このようなフォルダには、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_をより高い値に設定するだけです。

11
Denis V

単にFile> Invalidates Caches / Restart...私のために働く。 ????????

4
Glenn Mohammad

バグが原因で、数秒で数KBから2 GBを超えるログファイルがアプリケーションに見つかりました。 Webstormはこの2 GBのログファイルのインデックスを作成しようとして、メモリが不足していました。ログファイルを削除することで問題は解決しました(そしてバグを修正すると、ログファイルが大きくなりませんでした)。

これに先立ち、x64 JDKを実行してXMXを2048に増やしました。しかし、最終的には2048 MBの64ビット環境では十分ではありませんでした(以前は常に512 MBで十分でした)。

1
steampowered