2012-01-10 7 views
1

最近、メモリマップファイルでページングスペースが節約されているという記事を読んでいます。ページングスペース、JVM、メモリマップファイル(ニオ)

質問1:これはなぜ重要な利点ですか?明確にするために、ある

は、私はこの質問を提起します:

質問2:私はJVMをHAVA場合は、標準のLinuxディストリビューション上で(例えば)1GまたはRAMで実行している、と私は800メガバイトを開くにファイル - JVMのメモリの何%がページング領域で占有されるのですか?

さらに、ファイルが占める他のリソースは何ですか?

私は私が求めている本当の問題があると思います:

質問3:どのようにJVMによって読み取ら大きなファイルを扱う際に、我々は「ページング・スペース」を定義し、キー(非自明では)何をしていますか利点メモリマップされたファイルはアプリケーションに提供されます(通常の古いファイルストリームへの理想的な置き換えはいつですか?)

これは、ページングがJVMファイルのメモリマッピングで実装される方法に関係していると仮定します。

答えて

5

質問1:これはなぜ重要な利点ですか?

私はそれがスワップ空間を指していると仮定します。ヒープまたはダイレクトメモリを使用する場合は、スワップ領域にスワップできます。これは非常に良いアイデアパフォーマンス賢明ですが、それは起こる可能性があります。メモリマップされたファイルは、それらのファイルにページされます。

スワップスペースを節約することは大きな問題ではありませんが、アプリケーションが多くの仮想メモリを使用したいので、システムを再構成する必要はありません。

ヒープをディスクにスワップすることは決してありません。

質問2:標準のLinuxディストリビューションで1GまたはRAMで動作し、800MBのファイルをオープンするJVMを使用している場合、JVMのメモリの何%がページング領域に占有されますか?

ダイレクトメモリとメモリマップファイルは、ヒープには数えられません。ヒープがほぼ1 Gを使用していて、最大値が1 Gの場合は、800 MBのファイルを開くことができます。どちらの場合も、スワップスペースは使用されません。

質問3:JVMによって読み込まれた大きなファイルを扱うときに「ページングスペース」を定義する方法と、重要ではない(メリットではない)メリットメモリマップファイル?

ページングスペースの意味を正確にはわかりません。おそらく、ページングスペースがあなたに何を意味するのかを定義することができます。

メモリマップされたファイルの主な利点は、大量のデータを利用して、ディスクに読み書きする部分をOSに心配させることができることです。この領域は、物理メモリよりもはるかに大きく、ディスク容量よりもさらに大きくなる可能性があります。

8 TBファイルをJavaメモリにマッピングする例http://vanillajava.blogspot.com/2011/12/using-memory-mapped-file-for-huge.html

関連する問題