web-dev-qa-db-ja.com

Intellij IDEAで絶えずオブジェクトヒープ用に十分なスペースを予約できませんでした]というGradleエラーを取得する

そのため、メモリの割り当てに問題があります。時には機能する場合もあれば、機能しない場合もあります。 このスレッド を読んで、そこで何度もアドバイスを試みました。時には-Xms512m -Xmx768mが動作し、時には-Xms256m -Xmx512mが動作します。 Build, Execution, Deployment > Build Tools > Gradle > Gradle VMオプション設定でIntelliJのこの設定を微調整するのはうんざりです。これを完全に解決する設定はありませんか?

16GBのRAM、IntelliJを実行していますIDEA EAP 14ビルド138.2210.3、64ビットバージョン。Android Gradle build plugin v0.12。

私はgradleが64ビットモードで実行されていないのではないかと考えています。なぜこれを利用しないのですか?

編集:

Visual Studio 2015で同じエラーが発生しましたcordova 5.1.1Windows 10以下のソリューションをご覧ください。

28
Nilzor

64ビットをインストールするJava私のためにそれを解決しました

25
Nilzor

Visual Studio 2015で同じエラーが発生しましたcordova 5.1.1Windows 10.

この問題を解決するには、次の環境変数を設定します。

_Java_OPTIONS=-Xmx512M
  1. スタートボタンを右クリックして「システム」を開きます
  2. 「システムの詳細設定」を検索して開きます
  3. 「環境変数...」ボタンをクリックします
  4. システム変数で、「新規...」をクリックします
  5. 新しい変数名:_Java_OPTIONS
  6. 新しい変数値:-Xmx512M
  7. OKをクリック
  8. Visual Studioを再起動して、変数を取得します

これ 記事は私を正しい方向に向けます。指示を少し変更したので、Windows 10に適合します。

それが誰かを助けることを願っています!

53
Bjoerg

この質問は少し古いですが、問題の(可能性のある)根本原因を考えたいと思います。JVMは起動時にメモリブロック全体を要求します。見つからなかった場合、「予約できませんでした...」エラーが発生します。 John Papeは、この問題についてIBMの開発ブログで啓発的な記事を書きました: https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/why_wont_my_jvm_start_with_this_heap_size?lang=en

これは私のために問題を解決しています:

  • バリアントA:64ビットバージョンのJavaを使用して、Java接続可能な空きメモリのより大きな領域を与える
  • バリアントb:32ビットJava使用するXMXの量を減らします。gradle.propertiesファイルでは、org.gradle.jvmargs=-Xmx150mとGradleには問題はありません。
11
deR_Ed

これは私にも起こります、そして、それは私を動かします。使用可能なメモリ(RAM)が断片化されている可能性があります。十分な空きメモリがありますが、使用可能な連続した512MBブロックはなく、すべてがより小さいブロックに断片化されています!これが「時々」しか表示されない理由です。

試してみる価値のあるもの:

  • メモリが不足しているかどうかを確認し、他のアプリを閉じてみてください。 8GBのうち3GBの空き容量がまだある場合でも、これは時々起こります。その3GBは、512MB未満のブロックに断片化できます[例:-Xmx512mがある場合] ...再起動は、メモリを最適化する方法です。または、Firefoxを閉じると、ギグが解放されます;-)

  • また、驚くべきことに、スワップ領域[空きディスク領域]を確認してください。 machine/JVM/etcの実装に依存します。ただし、スワップ領域が少なく、メモリが断片化されている場合は、別の原因である可能性があります。

  • -Xmxを-Xms128m -Xmx512mに下げて、連続した空きメモリブロック[128m]を見つけやすくします。 gradleが本当に512m以上を必要とする場合、これは良い考えではないかもしれません。私たちがgradleについて話していることを考えると、この箇条書きを無視してください(他のケース/注目すべき価値がある場合に役立つヒントかもしれません)。

  • 〜/ .gradle/gradle.properties属性でXms/Xmxを再確認してください:org.gradle.jvmargs

  • idea64.exe [64bit]を使用し、IDEAが間違ったJDK [32bit]を使用している場合、最新のIntellij IDEA [この時点で14.1.3作成]、[設定]-> [ビルド、実行、展開]-> [Gradle]:[デフォルトラッパーを使用]に進み、目的のGradle JVMを選択します(間違ったものを使用すると思われる場合は、ここに表示されます」。

  • 最後に、これは単なる推測に過ぎませんが、前の箇条書きでは、「use project JDK」を選択した場合、連続したメモリを見つけやすくなるのではないかと思います。それがGradleがintellij IDEAのすでに予約されているメモリブロックを使用することを意味するかどうかはわかりません。したがって、2つのプロセスを持つ代わりに、1つだけがあり、IDEAが起動するときに、より大きなメモリブロックを予約できます。しかし、それが提案するオプションであるかどうかはわかりませんIntellijへ...

私はあなたに同意します、私はIDEA [問題なしAT ALL]でメモリの問題は一度もありませんでした。

2
Pierre

私の場合、開いているものが多すぎました。メモリを解放すると動作しました。

0

Androidフォルダーにgradel.propertiesファイルがあり、次の行を追加します。

org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m

IntellijとFlutterを使用中にこれに遭遇しました。また、追加すると便利な別のプロパティは、JDKの場所を宣言することです。

org.gradle.Java.home=C:\\Your\\JDK\\path
0
Ekhtiar