【clion 报错要求された操作を実行するのに十分なメモリがありません。Xmxを増やしてください...】

clionエラーを報告するThere is not enough memory to perform the requested operation. please increase Xmx...

このエラー メッセージは、CLion に操作を実行するのに十分なメモリがないことを意味します。Xmx参数是JVM参数,用于控制Java虚拟机(JVM)可以使用的最大内存。

次の手順で Xmx パラメータを増やすことができます。

  1. CLion「 」メニューを開いて入力しますFile
  2. Settings」を選択します。
  3. 左側のメニューから「」を選択しますAppearance & Behavior
  4. System Settings」を選択します。
  5. System Settings「」タブの下の「 」セクションを見つけますMemory Settings
  6. 「 」フィールドに「 」VMoptionsを追加します-Xmx<size>。「<size>」は、JVM に割り当てるメモリ サイズです。たとえば、あなたは可以设置“-Xmx2g”来为JVM分配2GB的内存システム構成と利用可能なメモリに基づいて、割り当てるメモリの量を決定する必要があることに注意してください。如果你的系统中没有足够的可用内存,则将Xmx参数设置得太高可能会导致系统变慢或崩溃。

「システム設定」タブには、パスワード、HTTP プロキシ、データ共有、データ形式、アップデートのみがあります。

CLion のバージョンに「メモリ設定」オプションがない場合は、古いバージョンを使用しているか、CLion のバージョンがオペレーティング システムと互換性がないことが考えられます。この場合、次のことを試して JVM のメモリを増やすことができます。

CLion的安装目录中找到bin文件夹clion.exe.vmoptions(Windows)または を見つけますclion.vmoptions(Linux/macOS)文件
このファイルを開き、-Xmxパラメータ行を見つけます。そのような行がない場合は、手動で追加できます。
-Xmx パラメータを希望の値に変更します (例: ) -Xmx2g,表示给JVM分配2GB的内存
ファイルを保存し、CLion を再起動します。
JVM に割り当てるメモリが多すぎると、システムの速度が低下したり、クラッシュしたりする可能性があることに注意してください。したがって、システム構成と利用可能なメモリに基づいて、割り当てるメモリの量を決定することをお勧めします。

ここに画像の説明を挿入

-server
-Xms128m
-Xmx512m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Dawt.useSystemAAFontSettings=lcd
-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
-Dsun.tools.attach.tmp.only=true

これJVM参数配置文件看起来已经为CLion提供了一定的内存和垃圾回收优化Xmx パラメータの値を増やしたい場合は、システムで利用可能なメモリの量に応じて、このパラメータを 512m から 1g や 2g などのより高い値に調整できます。

JVM 構成をさらに最適化したい場合は、次の提案を試してください。

  1. -XX:+UseConcMarkSweepGC-XX:+UseG1GC など、より最新のガベージ コレクターに変更します。これにより、ガベージ コレクションのパフォーマンスとメモリ使用率が向上します。
  2. コード キャッシュのサポートを改善するために値を調整しました-XX:ReservedCodeCacheSizeプロジェクトが大きい場合は、この値を増やすことを検討してください。
  3. より高い値に設定する-XX:CICompilerCountと、ジャストインタイム コンパイルにより多くの CPU コアが使用されます。
  4. 値を調整して、-XX:SoftRefLRUPolicyMSPerMBメモリ使用パターンと GC パフォーマンスに基づいてソフト参照のコレクションを最適化します。
  5. アプリケーションが大量のヒープ メモリと低レイテンシーを必要とする場合は、新しいタイプの GC の使用を試みる-XX:+UseZGCか、待つことができます。-XX:+UseShenandoahGC

これらの変更はシステムに悪影響を与える可能性があるため、特定の状況と実験結果に応じてこれらの最適化を採用するかどうかを決定する必要があることに注意してください。

-Xmx をどの程度変更するのが適切か

-Xmx パラメータの適切な値は、システム構成とアプリケーションの実際のメモリ要件に基づいて決定するのが最適です。

一般来说,Xmx参数的值应该设置为你系统中可用内存的一部分,但不能设置得太高,否则可能会导致系统变慢或崩溃。通常建议将-Xmx参数设置为总内存的三分之一或四分之一左右。

たとえば、システムに 8GB のメモリがある場合、-Xmx パラメータを約 2GB または 3GB に設定できます。ただし、システムのメモリが 4GB しかない場合、-Xmx パラメータを高く設定しすぎると、システムの速度が低下したりクラッシュしたりする可能性があるため、-Xmx パラメータを 1GB または 1.5GB 程度に設定することを検討してください。

つまり、システム構成とアプリケーションのメモリ要件に応じて、Xmx パラメータの適切な値を決定する必要があります。最適な構成を決定するために、いくつかの実験とパフォーマンス テストを行うことができます。

メモリ量の確認方法

システムの利用可能なメモリを確認するには、次の手順に従います。

Windows系统:

  1. 「タスク マネージャー」を開きます (ショートカット キー Ctrl+Shift+Esc または Ctrl+Alt+Delete を使用できます)。
  2. 「パフォーマンス」タブを選択します。
  3. 「メモリ」セクションで、「使用可能」列の値を確認します。この値は、システムで現在利用可能な物理メモリの量を表します。

macOS系统:

  1. アクティビティ モニターを開きます (Spotlight 検索を使用できます)。
  2. 「システムメモリ」タブを選択します。
  3. 「使用可能なメモリ」の値を確認してください。この値は、システムで現在利用可能な物理メモリの量を表します。

Linux系统:

  1. ターミナルを開きます。
  2. free -h」コマンドを入力してEnterキーを押します。
  3. 出力の「」列を見てください可用この値は、システムで現在利用可能な物理メモリの量を表します。

请注意,这些值只是你系统中当前可用的物理内存量,而不是可供CLion使用的内存量システム構成と使用状況に応じて、CLion に割り当てるメモリの量を決定する必要があります。

            总计         已用          空闲       共享         缓冲/缓存     可用
内存:        15Gi        11Gi       257Mi       518Mi       3.6Gi       3.0Gi
交换:       2.0Gi       1.7Gi       301Mi
cgm@cgm:~$ 

提供された情報によると、システムには合計 15 GB の物理メモリと 2 GB のスワップ領域があります。現在のシステムでは 11GB の物理メモリが使用され、还剩下3GB的物理内存可用1.7GB がスワップ領域で使用され、0.3GB が空きます。

CLion を使用する場合は、プロジェクトのサイズと使用状況に応じて CLion に割り当てるメモリの量を決定する必要があります。一般に、-Xmx パラメータをシステムの使用可能なメモリの一部に設定することをお勧めしますが、システムの速度低下やクラッシュを引き起こす可能性があるほど高くしないでください。根据你提供的信息,你可以将-Xmx参数设置为2GB左右。

おすすめ

転載: blog.csdn.net/u013454780/article/details/130030401