Debian に USB ディスク書き込みをより積極的にバッファリングするように指示するにはどうすればよいですか?

Debian に USB ディスク書き込みをより積極的にバッファリングするように指示するにはどうすればよいですか?

私はDebianシステムでUSBスティックのIO転送速度を上げる方法を見つけようとしています。おそらくキャッシュを使用することもできます。

debootstrap背景:私はDebianシステムをディスクにインストールするスクリプトを書いています。主にUSBスティックとして使いたいです。しかし、非常に遅いです(理由はわかりませんが、これは別のトピックです)。私はこれをはるかに速くする方法を見つけました。つまり、ハードドライブの一部の一時イメージファイルがサポートされているループデバイスでプロセスを実行することです。その後、dd画像をUSBドライブにコピーします。

私の質問:ハードドライブに一時イメージファイルがなくても、この速度(またはより速く)を作成できますか?その規模を見積もることは容易なことではない。私にとっては、それが思ったよりも複雑に感じられます。そして必要以上に遅いです。 RAMもたくさんあり、スワップスペースも多いです。 USBスティックから直接プロセスを実行すると、カーネルにすべてをより積極的にキャッシュするように指示できますか?実際、これはすべてRAMで行われ、私のプログラムをブロックせずにバックグラウンドでできるだけ早くメモリースティックに書き込みます。結局私は走って待ってからsync棒を取り出した。

理想的には非侵襲的でなければなりません。カスタムカーネルはオプションではなく、問題のある方法でグローバルシステム設定を再設定しません(これは私の主なワークステーションであり、信頼性が低下したくありません)。

ベストアンサー1

ループデバイスがATAキャッシュフラッシュ/sync要求を削除した可能性があります。非常に通常のUSBスティックでは非常に遅いです。 USBディスクレベルでフラッシュを無効にするか(実行してecho "write through" > /sys/block/$device/queue/write_cache)、USBスティックをマウントするオプション(ext3 / 4ファイルシステムの場合)を使用してnobarrier同様の結果を得ることができます。

おすすめ記事