高速アクセスが必要な一時ファイルをたくさん作成する必要があるので、RAMディスクを使用することを考えています。問題は、一時ファイルがかなり大きくなる可能性があることです( 1〜4 GB)、この場合、ディスクストレージは問題ありません。
RAMディスクと物理HDDを組み合わせて、最悪の場合(大きな一時ファイルに遭遇したとき)にHDDが使用されるようにする方法はありますか?
---編集---
より高速なSSDを購入する余裕はなく、永続ストレージも必要ありません。また、100GBの一時データも必要ありません。私はこれに自宅のコンピューターを使用しています(2 GHz AMDシステム...)。 nionFS に関するヒントを受け取りました。それでの経験は何ですか?
tmpfs と大きなスワップパーティションまたはファイルを使用します。このファイルシステムは、可能な限りデータをメモリにキャッシュし、RAMに収まらない場合はディスクにスワップします。
ソリッドステートSSDドライブを使ってみませんか? 100 GB以上の容量のものを入手でき、標準のディスクよりもはるかに高速です。
RAID 0(ストライプ)を実行するオプションの2番目ですハードウェアRAIDコントローラーを使用。ビデオエンコーディングサーバーを引用しましたが、スクラッチドライブはRAID0では15k SASであり、他に類を見ないほどビデオを噛み砕きます。
これらの一時ファイルを保持する予定の期間に応じて、遅延割り当てをサポートするXFSやext4などのファイルシステムを使用できます。このようなファイルシステムは「十分に賢い」ので、短命のファイルが割り当てられる前に削除された場合(まだキャッシュ内にある)、ディスク上で割り当てられることはなく、データは書き込まれません。
XFSとext3でこれを試しましたが、違いは驚くべきものでした。大量の一時ファイルを作成し、しばらくするとそれらを削除するテストプログラムは、XFSではほとんどIOですが、ext3ではロードされません。
しかし、私は他のポスターに同意します、tmpfsもかなり良いです(実際にはもっと良いかもしれません)
いくつかの一時ファイルと大きな一時ファイル用のディスクスペースの別のパーティションをキャッシュし、必要に応じて2つを自動的に組み合わせて一致させるRAMドライブを作成できるかどうかを尋ねていますか?これは、達成するのが少し複雑な面に聞こえます。予算によっては、一時ファイル/スワップに使用するSSDドライブのインストールを検討したり、ハードディスクをいくつか入手してデータの読み取り/書き込みをストライピングしたりする方がよい場合があります。
try 2つのドライブ(1つは物理パーティション、もう1つは完全にメモリ内)でソフトウェアRAIDを使用して、JBOD(ディスクの束)を作成できると思います。 1つのディスクは本物ではないので、それに関する問題を求めている可能性があります。それが機能した場合、パフォーマンスにいくつかの面白い数字が生じる可能性があります。それは機能しますか?わからない。人々がそれをしているのを聞いたことがありませんが、これは私が最初に研究するアプローチでしょう。
個人的には、ディスクをより高速なドライブ(15,000 RPMなど)にアップグレードし、RAIDを使用してディスクをストライプ化するか、ソフトウェアまたはハードウェアRAID(mobo上ではない)を使用するか、SSDルートを使用することを検討します。上手。それ以外の場合は、64ビットOSを実行し、十分なRAMを取得して、数ギガのRAMディスクを作成し、目的の処理を実行することを検討できます。