Deadline IO スケジューラーを使用する
Environment
- Red Hat Enterprise Linux (RHEL) 7
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 4
Issue
- デバイスに対して deadline スケジューラーを有効にするにはどうしたら良いですか?
- deadline スケジューラーのパラメーターは何のために使用しますか?
- 次に送り出す I/O を選択するスケジューラーロジックはどのように機能しますか?
Resolution
deadline スケジューラーを使用するようにディスクを設定するには:
RHEL 5、RHEL 6、RHEL 7: /sys
ファイルシステム経由
$ echo 'deadline' > /sys/block/sda/queue/scheduler $ cat /sys/block/sda/queue/scheduler noop anticipatory [deadline] cfq
(起動時に) deadline スケジューラーを使用するようにすべてのディスクを設定するには:
RHEL 4、RHEL 5、RHEL 6、RHEL 7: /etc/grub.conf
ファイルのカーネル行の末尾に elevator=deadline
を追加する
title Red Hat Enterprise Linux Server (2.6.9-67.EL) root (hd0,0) kernel /vmlinuz-2.6.9-67.EL ro root=/dev/vg0/lv0 elevator=deadline initrd /initrd-2.6.9-67.EL.img
注意: RHEL 4 では、IO スケジューラーの選択はディスクごとではなく、グローバルで行います。
注意: RHEL 7 では、deadline IO スケジューラーは、SATA ディスク以外のすべてのブロックデバイスに対するデフォルト IO スケジューラーです。SATA ディスクの場合、デフォルトの IO スケジューラーは cfq です。
Deadline パラメーター:
$ grep -vH "zzz" /sys/block/sda/queue/iosched/* /sys/block/sda/queue/iosched/fifo_batch:16 {number of contiguous io to treat as one} /sys/block/sda/queue/iosched/front_merges:1 {1=enabled} /sys/block/sda/queue/iosched/read_expire:500 {time in milliseconds} /sys/block/sda/queue/iosched/write_expire:5000 {time in milliseconds} /sys/block/sda/queue/iosched/writes_starved:2 {minimum number of reads to perform, if available, before any writes}
deadline スケジューラーとそのパラメーターの詳細、そしてパラメーターが IO 選択と、deadline スケジューラーからのフローを変更する方法については、"Understanding the Deadline IO Scheduler" を参照してください。次に送りだす IO を選択する deadline スケジューラーのロジックがどのように機能するかについては、こちらで説明されています。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments