web-dev-qa-db-ja.com

パーティションでLinuxの読み取りおよび書き込みファイルキャッシュを無効にする

XfsパーティションのLinuxファイルキャッシュを無効にするにはどうすればよいですか(両方とも読み取りと書き込み)。

RAWHDビデオを保存するハードウェアRAID上にxfsパーティションがあります。ほとんどのシュートはそれぞれ50〜300 GBであるため、Linuxキャッシュのヒット率は0.001%です。

同期オプションを試しましたが、ファイルを処理するときにキャッシュがいっぱいになります。
(シュートあたり約30倍:P)

/ etc/fstab:

/ dev/sdb1/video xfs sync、noatime、nodiratime、logbufs = 8 0 1

それが助けになるなら、私はdebianlennyを実行しています。

9
complistic

ユースケースに完全に適合するソリューションがあります: http://code.google.com/p/pagecache-mangagement/

ソースコードをチェックアウトした後:

svn checkout http://pagecache-mangagement.googlecode.com/svn/trunk/ pagecache-mangagement-read-only

問題

make
Sudo cp *.so /usr/local/lib/
Sudo cp *.sh /usr/local/bin/

その後、あなたはあなたが望むどんなアプリケーションでも始めることができます

pagecache-mangagement.sh <App>

そしてアプリはあなたのキャッシュをいっぱいにしません!

6
Robert Metzger

nocache ツールは、特定のコマンドが現在のバッファキャッシュを台無しにするのを防ぐという同様の目的のために設計されています。コマンドの前に./nocacheを追加するだけです。

./nocache cp -a ~/ /mnt/backup/home-$(hostname)

同様のツール pagecache-mangagement-任意のアプリケーションのページキャッシュ使用量の管理を可能にするツール は、rmetzgerが指摘しているように、2008年と同じ状態のままであることに注意してください。良いか悪いか、またはそれらの組み合わせである可能性があります:)直接比較することはできませんが、私は nocacheの人々に1つ尋ねました

6
nealmcb

これはきれいに行うことはできません。特定のアプリケーションでこれが必要な場合は、_O_DIRECT_をopen(2)呼び出しに渡すように変更する必要があります。

man raw。キャッシュをバイパスするrawデバイスをバインドできます。いくつかの制限があります。私はCD/DVDデバイスでしか使用していないので、どれだけうまく機能するかわかりません。

2
Keith