it-swarm-ja.com

NVMeドライブがある場合、物理RAM)のように仮想メモリを使用できますか?これに制限はありますか?

週末に実行する必要のある計算プロジェクトのために、たくさんのRAMを必要とするプログラムがあります。明らかに、スーパーコンピューターのRAMはなく、コンシューマーとしての制限は32GBです。Windowsにはページファイル形式のメモリ仮想化は、ハードディスクを使用して活用できる仮想メモリの量を拡張しますが、従来ははるかに低速です。M.2NVMeドライブは、高速データアクセスSSDの新しいホットです。1TBMを使用している場合.2NVMeSSDメインドライブ、そしてたとえば480GBのメモリをページファイルとして割り当てると、それは私が効果的に十分なメモリを持つことができることを意味しますか?それともこれはとにかく非常に遅いですか?それは私のドライブを殺しますか?プログラムは利用可能なすべてのRAM +仮想を使用することさえできます-同時にそして積極的にラム?

この概念は、ディスク容量と同じだけRAMを作成できるというのはあまりにも良さそうなので、私の理論の何が問題になっているのかを知る必要があります。

2
Tom

メモリアクセスは、NVMeドライブと同じくらい高速または低速になります。

最新のSSDは、NVMeのものであっても、制限があることに注意してください。それらは高速ですが、その速度は通常、書き込まれるデータの量に依存します。

ご覧のとおり、高速で高耐久性のフラッシュストレージは高価であるため、その費用を相殺するために、通常、比較的低速のMLCフラッシュ(安価)に裏打ちされた小さな超高速SLC書き込みキャッシュ(高価な部分)があります。そのキャッシュは1〜8 GB、さらには16 GBの場合もありますが、キャッシュがいっぱいになったら、ドライブに「追いつく」時間を与えて、ドライブの遅い領域にキャッシュを書き込む必要があります。

書き込まれた最初の数GBで最大2〜3GB/sが表示される可能性がありますが、SSDによっては500MB/s以下に低下する可能性があります。

読み取りは問題なく、ドライブ全体で高速を実現する必要があります。この大きなパフォーマンスステップが発生するのは、最初の書き込みにすぎません。それが受け入れられるかどうかは、ユースケースによって異なります。後で余分な速度のためにその最初の充填を待っても大丈夫かもしれません。

最新のSSDは、寿命の長い「テラバイト書き込み」(TBW)の数値も主張していますが、それでも、ドライブのすべてのブロックを24時間年中無休で常に書き換えたくはありません。すべての書き込みwillドライブの寿命はわずかに短くなりますが、とにかくそうすることは何年も続くかもしれません。

あなたcan SSDをページファイルデバイスとして使用しますが、その制限に注意する必要があります。

適切に指定されたサーバーで時間を借りることができる「オンデマンド」クラウドサービスを利用する方がよい場合があります。時間の面では、はるかに高速であり(すべての実際のRAMを備えているため)、同等のコストになるため、はるかに優れた投資になります。

または、これが独自のプログラムである場合は、OSがすべてを実行することを期待するのではなく、低メモリを利用してファイル処理を自分で実行するように作成することを検討してください。

ドライブにページアウトされたRAMアクセスのすべてのブロックについて、そのブロックの読み取りが行われている間、プログラムは一時停止されます。最初に別のブロックを物理メモリから削除する必要がある場合、その時間は仮想メモリは、管理をOSにオフロードすることでタスクを容易にする可能性がありますが、データアクセスを自分で制御することで得られる制御と粒度が失われます。

4
Mokubai