Understanding JVM Memory Allocation and Java Out of Memory: Heap Spaceに示すように、ヒープ領域が割り当てられている場合、JVMは物理メモリと仮想メモリを区別しません。 Javaオブジェクトと計算のメモリ割り当てが開始されると、JVMは仮想メモリと物理メモリを区別し始めます。十分なスワップ領域(Linuxマシン上)が与えられた場合、なぜメモリー不足エラーが発生するのでしょうか?非常にゆっくりとはいえ、JVMが単にスワップ空間を使って計算を完了してはいけません。JVMが自動的にスワップ領域を使用してメモリ不足を防ぐことができます
例:RAM:14ギガバイト、スワップ領域:10ギガバイト
Javaアプリケーションはスペースの20ギガバイトを必要とする場合、それはスワップ領域(仮想メモリ)を利用してアプリケーションを実行して完了できませんでしたか?
Javaアプリケーションに関するヒープ領域と仮想メモリの相互作用は何ですか?
私は、JVMがメモリ使用量に境界を設定していると思います。十分なメモリがないわけではありません。アプリケーションが境界を超えていると思いますが、わかりません。 – niceman
Peter Lawreyの答えをリンクした質問?彼はあなたの質問のすべてではないにしても、ほとんどを扱います。 –
はい、私はしました。しかし、私はそれが使用できる十分な仮想メモリがある場合、なぜJavaプロセスがOOMを与えるのか理解できませんでした。 – Raghava