実行するたびに大きなファイル (約 1 ~ 2 GB) を開くアプリケーションがあります。
開発/テスト上の理由から、アプリケーションを再起動する必要があり、HDD からファイルをロードするための 30 秒から 1 分の待機時間が少し不便になります。
ファイルを RAM に置き(そこに保存して)、読み込みを高速化する方法はありますか?
答え1
システムに十分なRAMがある場合は、ファイルはメモリにキャッシュされるので、すべきではない毎回ドライブから再読み取りされます。
ファイルをtmpfs
ファイル システムにコピーし、そこから読み込むことで、この問題を解決できます。tmpfs
ファイル システムは RAM ベースです。現在、ほとんどのディストリビューションでtmpfs
は にを使用している/tmp
ため、そこにファイルをコピーすると機能します。必要な場合は、自分で を別の場所に作成し、そこにファイルをコピーすることもできますmount
。tmpfs
ただし、メモリが不足している場合は、 の内容がtmpfs
スワップ アウトされる可能性があるため、スワップから読み取ることになります。
答え2
ファイルシステムすべきすでにファイルをキャッシュしているもし十分なRAMがあります。
ただし、この目的のために専用の 2GiB RAM ディスクを作成するには、/tmp/ramdisk
次の操作を実行します。
sudo mkdir /tmp/ramdisk sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk