LinuCレベル3 プラットフォームスペシャリスト プラットフォームの最適化 問7
プラットフォームの最適化/カーネルパラメータによるリソース最適化カーネルパラメータvm.dirty_background_ratioとvm.dirty_ratioの説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの最適化」に対応。実際の試験問題ではありません)
- Aどちらもスワップ領域の使用率に関する閾値で、超えるとOOM Killerが対象を選ぶ基準が変わる
- Bdirty_background_ratioを超えると書き込み側が待たされ、dirty_ratioを超えると背後で書き出しが始まる
- Cdirty_ratioはページキャッシュ全体の上限で、超えた分のダーティページは書き出さずに破棄される
- Ddirty_background_ratioを超えると背後で書き出しが始まり、dirty_ratioを超えると書き込み側が待たされる
正解:D
解説
ダーティページ(ディスクへ未書き出しのページキャッシュ)の量が、利用可能なメモリに対してvm.dirty_background_ratioの割合を超えると、カーネルのフラッシュスレッドがバックグラウンドで書き出しを始めます。さらにvm.dirty_ratioの割合を超えると、書き込みを行っているプロセスが抑制・ブロックされ、書き出しが追いつくまで待たされます。一般にdirty_background_ratioはdirty_ratioより小さく設定します。割合ではなくバイト数で指定する場合はvm.dirty_background_bytes・vm.dirty_bytesを使います。
選択肢ごとの解説
- A誤り。これらはダーティページの量に関するパラメータで、スワップやOOM Killerとは関係ありません。
- B誤り。2つのパラメータの役割が逆になっています。
- C誤り。ダーティページはディスクへ書き出す必要があるデータで、破棄すればデータが失われます。上限を超えると書き出しが行われます。
- D正しい。前者を超えるとバックグラウンドでの書き出しが始まり、後者を超えると書き込むプロセスが待たされます。