私が使用するのに最適なdirty_ground_ratioとdirty_ratioは何ですか?

私が使用するのに最適なdirty_ground_ratioとdirty_ratioは何ですか?

だから私はdirty_background_ratio and dirty_ratioあなたの専門的な助けを借りて正しいパラメータを見つけようとしています。

今は以下を使用しています。

vm.dirty_background_ratio = 20 vm.dirty_ratio = 60

主な用途は急流です。つまり、急流クライアントを介してファイルをダウンロードしてシードします。同時に複数のダウンロードを実行できるため、RAMキャッシュを使用して正しい値を考慮する必要があります。

たぶん私に正しい値を提案してもらえますか?

ベストアンサー1

あなたのアイデアと価値(約2倍)はまともなようですが、RAMが正確に何を意味するのか説明していません。隠れ家。ここはもう少しバッファーこれは、ダーティページが変更されずにディスクに書き込まれるためです。

同じブロックデバイスにIOが多いと、後でクラッシュします。ダーティページの数が唯一のトリガーではありません。mm/ページ writeback.c):

/*
 * The longest time for which data is allowed to remain dirty
 */
unsigned int dirty_expire_interval = 30 * 100; /* centiseconds */

デフォルトは30秒です。これで十分です。ただし、これはこの値より古いダーティページがブロックされないことを意味します(バッファリング/キャッシュの時間ディメンション)。

同時IOがある場合、これらのグローバル設定もここに影響します。


最高の説明汚い料金そして汚れた背景比同じファイルから:

/* The following parameters are exported via /proc/sys/vm */

/*
 * Start background writeback (via writeback threads) at this percentage
 */
int dirty_background_ratio = 10;
...
/*
 * The generator of dirty data starts writeback at this percentage
 */
int vm_dirty_ratio = 20;

同じことが別の側面に見えることを示します(今は汚れて後でクリーンアップされます)。


ダーティページを分析するためのいくつかのコマンドは次のとおりです。

]# cp MAINTAINERS MAINTAINERS-2

]# grep dirty /proc/vmstat 
nr_dirty 135
nr_dirty_threshold 311361
nr_dirty_background_threshold 155490

しきい値は、パーセンテージ値(パーセンテージまたはバイトとして提供)に基づいて計算されます。 8GB = 2Mページなので、それぞれ10%と20%です。


ページタイプツールを使用すると、これらのダーティページをより正確に識別できます。これは/proc/kpageflagsを読み取り、約200ミリ秒かかります。

]# ./tools/vm/page-types  -b dirty -b lru -b ~active,~reclaim,~mmap |cut -c-80
             flags      page-count       MB  symbolic-flags                     long-symbolic-flags
0x0000000000000030               1        0  ____Dl__________________________________
0x0000000000000038             130        0  ___UDl__________________________________
0x0000000000044038               1        0  ___UDl________b___u_____________________
0x000000000000403c              23        0  __RUDl________b_________________________
             total             155        0

ただ座って待つか(30秒)手動でもsyncダーティページはすぐに消えます。

]# sync
]# grep dirty /proc/vmstat 
nr_dirty 0
...

「UDl」の130ページ全体が消えました。 「最新でダーティでLRUリストにある」のです。

]# ./tools/vm/page-types  -b dirty -b lru -b ~active,~reclaim,~mmap |cut -c-80
             flags      page-count       MB  symbolic-flags                     long-symbolic-flags
0x0000000000044038               1        0  ___UDl________b___u_____________________
0x000000000000403c              23        0  __RUDl________b_________________________
             total              24        0

2行の130 + 1ページの違いは正確にファイルサイズです。

]# ls --block-size=4096 -s MAINTAINERS 
131 MAINTAINERS

これが私のプロプレイのヒントです。

おすすめ記事