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 が企業のデジタル変革を加速させる方法をご覧ください

推薦する

実務家が語る香港のインターネットについてあなたが知らないこと

都市の繁栄の真っ只中、香港ではインターネットが斜陽産業であることをご存知ですか?起業家がアウトソーシ...

最適化プロセス中に遭遇する最適化のボトルネックを打破する方法

このような問題に遭遇することはよくあります。サイトを最適化するために一生懸命努力すると、すべてが非常...

バイトラック - 2.99ドル/512MBメモリ/50GBハードディスク/600GBフロー

Bytesrack は 2005 年に設立されたと主張しています。ドメイン名は 2011 年に登録さ...

今日頭条における若者の好みは何ですか?ユーザー調査レポート!

この記事は「今日頭条若者指数調査報告書」を皆さんと共有します。この報告書は、1. 今日頭条の若者の全...

SEOソフトの記事を書く前に、いくつかの質問について考えてみましょう

私の周りには、いつも惨めな友達がいます。彼らはリベートサイトを運営しているときによく略奪され、記事は...

「制御可能」原則を使用して、Webサイトの外部リンクが合理性を取り戻すようにします

多くのウェブサイトの外部リンクは毎日変化しています。外部リンクの安定性は、ウェブサイト全体の重みの不...

ウェブサイト維持戦略とSEO最適化の統一原則

ウェブサイトはどのようにしてユーザーを維持できるのでしょうか。これは非常に奥深いテーマです。私たちは...

#ニュース: Linode シンガポール VPS がオンライン/テストデータあり

世界的に有名な VPS クラウド プロバイダー Linode のシンガポール データ センターが正式...

#BlackFriday# juhost: 全プランが 40% オフ、月額 2.99 ドル、1G メモリ/1 コア/20gSSD/1T トラフィック、直接帯域幅 - 香港 100M/日本 1Gbps

Juhost は、香港のすべての VPS を 40% オフにする新しい特別プロモーションを開始しまし...

アリ副社長の于燕氏:タオバオは明日、販売業者向けに「タオバオ番号」を公開する

9月24日、アリババグループの于燕副社長は本日メディアに対し、淘宝は明日淘宝アカウントを販売者に開放...

Serverhub 7G SSD ハードディスク 仮想ホスト 1 セント/年

Serverhub は新しい仮想ホスト (おなじみの Infinitie ブランドもあります) を立...

CrocWeb - SSD ホスティングが 50% オフ

CrocWeb の仮想ホスティングは、バレンタインデーに 50% オフで販売されています。50% 割...

実際の事例:ウェブサイトのホームページが1週間ブロックされ、その後回復した

医療系サイトの場合、ホームページが削除され、ランキングが下がった場合の損失は想像に難くありませんが、...

Baidu の重み検索ツールの権威ある分析

ご存知のとおり、PR 値は Google が Web ページのランクを表示するために使用する基準です...