問題タブ [off-heap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
66 参照

java - ダウンロードした大きなファイルのオフヒープ ストレージ

1 時間ごとにダウンロードする必要がある複数の巨大なファイル (約 10 ~ 12 個のファイル、それぞれ 1 ~ 2Gb) があります。キーはファイルのバージョン、値は文字列のリストのファイルの内容であるハッシュマップとして保存します。私たちが直面している問題は、新しいファイルがダウンロードされるたびに GC が起動して古いファイルをクリーンアップすることです。これにより、ファイルが巨大であるため、システムが長時間停止します。これらのファイルの内容をオフヒープに保存できるソリューションを考えています。このために、クロニクル マップを調査しました。

質問 1:ダウンロード中に、OS はオンヒープ バッファーまたはデータ構造を使用しますか? はいの場合、オンヒープメモリが既に割り当てられているため、ファイルをオフヒープに保存しても問題ありません。ファイルを保存するためにオンヒープメモリをまったく使用せずに、ファイルをダウンロードしてオフヒープに保存する方法はありますか?

質問 2:ファイルをヒープ外に保存し、このメモリの参照をハッシュマップの値として保持する方法はありますか?

0 投票する
1 に答える
190 参照

java - オフヒープ メモリがいっぱいの場合、Chronicle マップはどのように動作しますか?

いくつかのファイルをダウンロードし、メモリ内クロニクル マップを使用してオフ ヒープに保存します。使用可能なネイティブ (オフヒープ) メモリの量を超えたときのクロニクル マップの動作を理解したいと思いました。それに関して2つの質問があります:

  1. データはディスクにこぼれますか? そうでない場合、正確には何が起こりますか?エラーが発生した場合、そのようなエラーを回避するための最善の方法とプラクティスは何ですか?
  2. クロニクル マップを使い終わったら閉じないと (またはメモリ リークが発生した場合)、オフ ヒープ メモリがいっぱいになりますか? オフ ヒープ メモリがいっぱいになると、JVM の障害が発生しますか? それとも、OS が介入してクリアしてくれますか?