Javaガベージコレクションはメモリスワップを防ぐために機能し始めますか?

マリオドゥアルテ:

例として、JVMの最大ヒープを4GBに設定したとしましょう。ただし、アプリケーションが約3GBに達すると、OSが一部のメモリをディスクにスワップし始めます。この時点でいくつかのオブジェクトがすでにスコープ外にあり、より多くのメモリを要求する代わりに、JVMは最初に古いオブジェクトをガベージコレクションできます。パフォーマンスの点では、メモリスワッピングを行うよりも、ガベージコレクションを実行する方が適切です。このような状況については、JVMガベージコレクションは賢いですか、それともまったく認識していませんか?この状況に対処するために、JVMを何らかの方法で調整できますか?

3GBに達する前にガベージコレクションが実行される可能性があるため、実際にはメモリを交換する必要はありませんが、それでも私の質問には答えられません。

編集:私のマシンに4GB以上のメモリがあると仮定しましょうが、時々他のアプリケーションがそのメモリの一部を使用して4GB未満のメモリを残していることがあります。ほとんどの場合4GBになるので、最大ヒープサイズを減らす必要はありませんが、他の状況でもGCが十分にスマートであるかどうか疑問に思っていました。

天井:

JVMは幸いにも、基になるOSメモリ管理を認識していません。私は少し前にGC最適化に関するJavaOneセッションに参加したことを覚えており、スピーカーは、JVMを実行するために十分な空きメモリ(RAM、スワップではない)があることを常に確認する必要があることを強調しました。システムの特定の時点で使用可能なメモリよりも多くのメモリをJVMに割り当てます。さらに、一部のGC収集アルゴリズムが機能するため、収集するメモリブロックがページングされると、パフォーマンスが大幅に低下する可能性があります。

したがって、システムで物理的に利用可能なメモリよりも多くのメモリをJVMに割り当てないでください。また、外部プロセスによってメモリ使用量が時間の経過とともに増加することが予想される場合は、ページングされないようにするヒープスペースを割り当ててください。そして、これらの条件を満たせない場合は、より多くのRAMが必要です:)

更新:SOを少し検索したところ、これが見つかりましここでkdgregoryは、GCの動作方法が原因でページングは​​問題にならないはずだと主張していますが、通常の状態、つまりメモリがしばらく触れられていないためページングを検討しています。メモリとあなたは間違いなくページングを開始します。また、Linuxフレーバーを実行している場合は、John Ferminellaの回答と、Linuxでのスワップを理解および調整する方法を説明する彼の素晴らしいブログ投稿確認してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同期ロックのガベージコレクションを防ぐために使用される変数を上書きしていますか?

分類Dev

ガベージコレクションなしでメモリリークを分析するためにヒープダンプを作成できますか?

分類Dev

メモリリークを防ぐためにRxサブスクリプションとObservableをクリーンアップする方法は?

分類Dev

「のための」Javaの文の実装では、ガベージコレクションを防ぎます

分類Dev

java.io.serializableはガベージコレクションを防ぐことができますか?

分類Dev

Actor Systemsは、キューからのメモリオーバーフローを防ぐだけでなく、キューへの書き込み時にスレッドがブロックされるのを防ぐためにどのように機能しますか?

分類Dev

長さがゼロでキャップが0のスライスは、基になる配列をポイントしてガベージコレクションを防ぐことができますか?

分類Dev

SQLインジェクションを防ぐためのコードのベストプラクティスは何ですか?

分類Dev

Javaガベージコレクターはスタックメモリをクリーンアップしますか?

分類Dev

Javaのガベージコレクションはどのように機能しますか?

分類Dev

Java-LinkedListの自動ガベージコレクションはどのように機能しますか?

分類Dev

SQLインジェクションJavaを防ぐために、Orderbyのプリペアドステートメントを使用する

分類Dev

メモリリークを防ぐために、FFIモジュールで必要な呼び出しコードに文字列を返していますか?

分類Dev

ガベージコレクションは誰で機能しますか?

分類Dev

デリゲートは、オブジェクトがガベージコレクションされるのを防ぐことができますか?

分類Dev

ガベージコレクションするために、マップをnilに設定する必要がありますか?

分類Dev

Javaはオブジェクトの割り当て解除とガベージコレクションの後もシステムメモリを使用します

分類Dev

この技術は、ガベージコレクションからJavaを防ぐのか?

分類Dev

SQLインジェクションを防ぐために準備されたステートメントを使用して、ユーザー入力からデータベースを作成します。

分類Dev

メモリリークを防ぐためにClickイベントのサブスクライブを解除する必要がありますか?

分類Dev

オブジェクトで実行中のスレッドは、Javaでガベージコレクションされるのを防ぎますか?

分類Dev

関数型プログラミングのディープスタックは、JVMでのガベージコレクションを防ぎますか?

分類Dev

コンパイル/評価されたプロシージャのメモリはChezSchemeでガベージコレクションされていますか?

分類Dev

マスターブランチへのプッシュを防ぐために、ハスキーでプリプッシュフックを設定します

分類Dev

コンテンツのジャンプを防ぐために、コンポーネントを事前レンダリングしますか?

分類Dev

PHP:リダイレクトを防ぐためにURLリンクに変数が含まれているかどうかを確認する方法(残りのコードは機能します)

分類Dev

ガベージコレクションを開始するようにJVMに指示するために使用するJVMパラメータ

分類Dev

プライベートメソッドはクラスの外部にアクセスできるため、リフレクションはプライベートメソッドの概念を壊しますか?

分類Dev

インジェクションを防ぐためにノードエクスプレスでDELETEリクエストを保護するにはどうすればよいですか?

Related 関連記事

  1. 1

    同期ロックのガベージコレクションを防ぐために使用される変数を上書きしていますか?

  2. 2

    ガベージコレクションなしでメモリリークを分析するためにヒープダンプを作成できますか?

  3. 3

    メモリリークを防ぐためにRxサブスクリプションとObservableをクリーンアップする方法は?

  4. 4

    「のための」Javaの文の実装では、ガベージコレクションを防ぎます

  5. 5

    java.io.serializableはガベージコレクションを防ぐことができますか?

  6. 6

    Actor Systemsは、キューからのメモリオーバーフローを防ぐだけでなく、キューへの書き込み時にスレッドがブロックされるのを防ぐためにどのように機能しますか?

  7. 7

    長さがゼロでキャップが0のスライスは、基になる配列をポイントしてガベージコレクションを防ぐことができますか?

  8. 8

    SQLインジェクションを防ぐためのコードのベストプラクティスは何ですか?

  9. 9

    Javaガベージコレクターはスタックメモリをクリーンアップしますか?

  10. 10

    Javaのガベージコレクションはどのように機能しますか?

  11. 11

    Java-LinkedListの自動ガベージコレクションはどのように機能しますか?

  12. 12

    SQLインジェクションJavaを防ぐために、Orderbyのプリペアドステートメントを使用する

  13. 13

    メモリリークを防ぐために、FFIモジュールで必要な呼び出しコードに文字列を返していますか?

  14. 14

    ガベージコレクションは誰で機能しますか?

  15. 15

    デリゲートは、オブジェクトがガベージコレクションされるのを防ぐことができますか?

  16. 16

    ガベージコレクションするために、マップをnilに設定する必要がありますか?

  17. 17

    Javaはオブジェクトの割り当て解除とガベージコレクションの後もシステムメモリを使用します

  18. 18

    この技術は、ガベージコレクションからJavaを防ぐのか?

  19. 19

    SQLインジェクションを防ぐために準備されたステートメントを使用して、ユーザー入力からデータベースを作成します。

  20. 20

    メモリリークを防ぐためにClickイベントのサブスクライブを解除する必要がありますか?

  21. 21

    オブジェクトで実行中のスレッドは、Javaでガベージコレクションされるのを防ぎますか?

  22. 22

    関数型プログラミングのディープスタックは、JVMでのガベージコレクションを防ぎますか?

  23. 23

    コンパイル/評価されたプロシージャのメモリはChezSchemeでガベージコレクションされていますか?

  24. 24

    マスターブランチへのプッシュを防ぐために、ハスキーでプリプッシュフックを設定します

  25. 25

    コンテンツのジャンプを防ぐために、コンポーネントを事前レンダリングしますか?

  26. 26

    PHP:リダイレクトを防ぐためにURLリンクに変数が含まれているかどうかを確認する方法(残りのコードは機能します)

  27. 27

    ガベージコレクションを開始するようにJVMに指示するために使用するJVMパラメータ

  28. 28

    プライベートメソッドはクラスの外部にアクセスできるため、リフレクションはプライベートメソッドの概念を壊しますか?

  29. 29

    インジェクションを防ぐためにノードエクスプレスでDELETEリクエストを保護するにはどうすればよいですか?

ホットタグ

アーカイブ