ランダムな読み書きが大きい場合、IOを改善する方法は?

ランダムな読み書きが大きい場合、IOを改善する方法は?

私のスクリプトは読み取りと書き込みの多くを使用します。ほとんどは小さく、ランダムです。私はLinuxがディスクにデータを書き込む前に10秒待つことを望みます。

この目標を達成する方法は?

私はLinuxがすでにこれを自動的に行うことができると思います。もっと極端な方法でやりたかったです。 Windowsのスーパーキャッシュと同じです。

注:これは質問に関連しています。Linuxにスーパーキャッシュに似たものがありますか?。私はLinuxが基本的に「スーパーキャッシュ」のようなものを使用していることをすでに知っています。ただし、Linuxのハイパーキャッシュに似た設定は低くする必要があります。スーパーキャッシュのためのより多くのメモリ共有を望んでいます。また、10秒ごとに怠惰な書き込みを実行したいと思います。

ベストアンサー1

/ procファイルシステムには、Linuxの書き込み保存動作を変更できる5つの調整可能なパラメータがあります。

dirty_async_ratio
dirty_background_ratio
dirty_sync_ratio
dirty_expire_centisecs
dirty_writeback_centisecs

構成はかなり複雑です。マニュアルは以下にあります。kernel.org。しかし、次のようにヨルダンすでに言った、「すべてのユーザースペースアプリケーションは、sync()システムコールを介してダーティバッファをディスクに書き込むようにカーネルに指示できます。」これは、他のプロセスによって構成が役に立たなくなる可能性があることを意味します。

また、ファイルシステムの設定を覚えておいてください。 noatime、data = writeback、nobarrierなどのマウントオプションは、スループットを大幅に向上させることができますが、ディスクコントローラがバッテリでサポートされていない場合、データを危険にさらす可能性があります。

おすすめ記事