JVM メモリ オーバーフローの 8 つの原因と解決策

JVM メモリ オーバーフローの 8 つの原因と解決策

[[275294]]

1. Javaヒープスペース

頻度: 5 つ星

原因

  • Javaヒープにオブジェクトを割り当てることができません
  • スループットの向上
  • アプリケーションが誤ってオブジェクト参照を保存し、オブジェクトをGCで回収できない
  • アプリケーションはファイナライザーを過度に使用します。ファイナライザ オブジェクトは GC によってすぐに回収することはできません。ファイナライザーは、ファイナライズ キューを提供するデーモン スレッドによって呼び出されます。場合によっては、ファイナライザー スレッドの処理能力がファイナライズ キューの増加に追いつけないことがあります。

解決

  • -Xmxを使用してヒープサイズを増やす
  • アプリケーションのメモリリークを修正する

2. GCオーバーヘッドが制限を超える

頻度: 5 つ星

原因

  • Java プロセスは、ガベージ コレクションの実行に時間の 98% を費やし、ヒープ領域の 2% 未満しか回復しませんでした。これは、過去 5 回 (コンパイル時定数) のガベージ コレクションで連続して発生しています。

解決

  • -Xmxを使用してヒープサイズを増やす
  • GCオーバーヘッド制限を無効にするには、-XX:-UseGCOverheadLimitを使用します。
  • アプリケーションのメモリリークを修正する

3. 要求された配列サイズがVMの制限を超えています

頻度: 2 つ星

原因

  • アプリケーションはヒープ サイズを超える配列を割り当てようとしました。

解決

  • -Xmxを使用してヒープサイズを増やす
  • 巨大な配列を割り当てるアプリケーションのバグを修正しました

4. パーマジェネレーションスペース

頻度: 3 つ星

原因

Perm gen スペースには以下が含まれます:

  • クラス名、フィールド、メソッド
  • クラスに関連付けられたオブジェクトと型の配列
  • JIT コンパイラの最適化

Perm gen スペースが使い果たされると、例外がスローされます。

解決

  • Permgenのサイズを増やすには、-XX:MaxPermSizeを使用します。
  • アプリを再起動せずにアプリケーションをデプロイすると、この問題が発生する可能性があります。解決するにはJVMを再起動してください

5. メタスペース

頻度: 3 つ星

原因

  • Java 8 からは Perm gen が Metaspace に変更され、クラス メタデータ (メタスペースと呼ばれる) がネイティブ メモリに割り当てられるようになりました。メタスペースが使い果たされると、例外がスローされます

解決

  • コマンドラインで -XX:MaxMetaSpaceSize を設定してメタスペースのサイズを増やします。
  • -XX:maxmetsspacedizeのチェックを外す
  • MetaSpace に空き領域を増やすために Java ヒープ サイズを減らします
  • サーバーにメモリをさらに割り当てる
  • アプリケーションのバグかもしれませんので、バグを修正してください

6. 新しいネイティブスレッドを作成できません

頻度: 5 つ星

原因

  • 新しいスレッドを作成するためのメモリが不足しています。スレッドはネイティブ メモリ内に作成されるため、このエラーはネイティブ メモリ領域が不足していることを示すために報告されます。

解決

  • マシンにメモリをさらに割り当てる
  • Javaヒープスペースを削減する
  • アプリケーション内のスレッド リークを修正します。
  • OSレベルの制限の追加
  • ulimit -a
  • ユーザープロセスの数を増やす (-u) 1800
  • -Xssを使用してスレッドスタックのサイズを減らす

7. プロセスまたはサブプロセスを強制終了する

頻度: 1 つ星

原因

  • カーネルタスク: 低メモリキラー、使用可能なメモリが極端に少ない場合にプロセスを強制終了します

解決

  • プロセスを別のマシンに移行する
  • マシンにメモリを追加する
  • 他の OOM エラーとは異なり、このエラーは JVM ではなくオペレーティング システムによってトリガーされます。

8. stack_trace_with_native_methodが発生する

頻度: 1 つ星

原因

  • ネイティブ メソッドの割り当てに失敗しました
  • スタックトレース情報を出力します。最上位のフレームはネイティブメソッドです。

解決

診断にはオペレーティングシステムのネイティブツールを使用する

<<:  ハイブリッドクラウドはデジタル変革への迅速な道を提供します

>>:  オープンソースをベースに、Pivo​​tal が企業のデジタル変革を加速させる方法をご覧ください

推薦する

中小電子商取引企業の運命は様々、威面の倉庫は閉鎖

JD.comとSuningのプロモーション戦争の盛り上がりの裏では、国内の中小電子商取引企業の生存状...

階層的プロモーション: SEO プロモーションの黄金戦略

Baidu Kサイト事件後、外部リンクを取り締まるために、Green Radish Algorith...

ウェブサイトはアップグレードされ、改訂される予定でしたが、心配な問題が見つかりました。

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですオンラインゲームが好きな友人は火...

arkecxはどうですか? arkecx シンガポール データセンターのクラウド サーバーの簡単なレビュー

シンガポールは東南アジアにおいて地理的に優位な位置にあり、シンガポールのクラウドサーバーも国内のネッ...

justhost: 新しいドイツの VPS、月額 3.5 ドルから、200M の帯域幅、無制限のトラフィック、どこからでも実行可能!

ロシアの老舗企業であるJusthostが、ドイツのフランクフルトにデータセンターを増設しました。新し...

中邦銀行のクラウドネイティブ技術の研究と探究

中邦銀行は、中小零細企業と一般大衆へのサービスに重点を置いた銀行であり、2019年に国家ハイテク企業...

キーワード選定はあくまでも基本レイアウトであり、最も重要なことです(パート1)

多くのウェブマスターは、自分のウェブサイトのランキングに困惑しています。同じオリジナルコンテンツと外...

ハイブリッドクラウド接続のベストプラクティスについて学ぶ

プライベート クラウドまたはパブリック クラウドをサポートする LAN であっても、ハイブリッド ク...

virmach: 先行販売 AMD Ryzen+NVMe 高性能 VPS、38 ドル/2 年、1G メモリ/1 コア/25gNVMe/2.5T トラフィック

virmach が騒ぎ始めました。いつもの低価格スタイルどおり、今度は AMD Ryzen シリーズ...

初のビットコイン詐欺事件が発覚:被害者の一部が損失を虚偽報告

ヤン・シャンジュン国内初の衝撃的なビットコイン取引プラットフォーム詐欺事件が浙江省東陽市公安局によっ...

「Souhuohufang.com」の1年間の運営経験をシェア

友人からモバイルハウス業界のことを教えてもらい、「Sou Mobile House Network」...

ファッション電子商取引の盛衰:ブランドライセンスへの慎重姿勢

彼が赤い建物を建てるのを見た、そしてそれが崩壊するのを見た張雲怡今年5月、アメリカの老舗百貨店大手メ...

A400相互接続:249元/月、ロサンゼルスCN2 GIA+BGP、1Gbps帯域幅、e3-1240/16GBメモリ/4Tハードディスク/30Tトラフィック/

a400 Interconnectは2009年に設立された企業で、主に米国データセンターの製品を扱っ...

マイクロビデオ業界に関する調査:マイクロビデオ業界の成功率は初期段階で1%未満

Groupon、Instagram、Pinterest に次いで人気を博し、次の大きな市場を創り出す...

SEO に段階的にどのように取り組みましたか?

最近は忙しくないときは、A5、Souwai、28tui などのフォーラムを訪問するのが好きです。今朝...