Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
その IONICE, 
ほんとに効いてますか? 
TAKAMURA Narimichi 
@nari_ex 
hbstyle-2014-08-14
WHAT IS IONICE ? 
• I/O の処理優先度を指定するLinuxコマンド 
• nice コマンドの I/O バージョン 
• nice コマンドでは I/O 優先度を制御不可
I/O 優先度クラス 
• RT ( Real-time ) 
• 最高優先度 
• BE ( Best-Effort ) 
• デフォルト優先度 
• Idle 
• 最低優先度
BE: クラス内優先度 
• BE クラスのみ、クラス内優先度がある 
• 優先度は 0~7 までの 8段階 
• 0が最高優先度、7が最低優先度 
• 優先度はクラスの枠を超えない 
• RT > BE (0) 
• IDLE < BE (7...
BE: クラス内優先度 
• BE クラスのみ、クラス内優先度がある 
• 優先度は 0~7 までの 8段階 
• 0が最高優先度、7が最低優先度 
• 優先度はクラスの枠を超えない 
• RT < BE (0) 
• IDLE < BE (7...
HOW TO IONICE 
• RT クラスを指定: ionice -c1 
• BE クラスを指定: ionice -c2 -n <0~7> 
• IDLE クラスを指定: ionice -c3
余談: NICE コマンド 
• クラスはない 
• 優先度 ( nice値 ) は -20~19 
• -20 が最高優先度、19が最低優先度
負荷を最小限に抑えたい!
ionice, nice を駆使して…
# ionice -c3 nice -n19
これで完璧だ!!!
–Johnny Appleseed
ちょっとまって
その IONICE, 
ほんとに効いてますか?
–Johnny Appleseed
IONICE が効く条件 
• I/O スケジューラ 
• Readなの?Writeなの?フラグは? 
• ファイル作成フラグ 
• キャッシュの有無
I/O Scheduler…
ユーザ空間 
VFS “ここに引用を入力してください。” 
–Johnny Appleseed 
カーネル空間 
システムコール 
物理 
デバイス 
ファイルシステム 
ディスクキャッシュ 
汎用ブロック層 
物理 
デバイス 
プロセス 
...
条件その1: I/O SCHEDULER(1) 
• CFQ スケジューラ以外は無理 
• Linux 標準のスケジューラは CFQ 
• Amazon Linux は Noop なので注意 
• Unbreakable Linux は Dea...
条件その1: I/O SCHEDULER(2) 
• デバイスひとつにI/Oスケジューラひとつ 
• デバイスをまたぐ処理の場合に注意 
• 処理に関わるすべてのデバイスを確認せよ 
• # cat /sys/block/<DEV_NAME>/...
条件その2: I/O処理の内容(1) 
• Write() は基本的に効かない 
• O_DIRECT, O_SYNC をフラグ立ててればOK 
• -o sync でマウントされたファイルシステムならOK
条件その2: I/O処理の内容(2) 
• Read() もすべてに効くわけではない 
• ディスクキャッシュがあるとダメ 
• ディスクアクセスないから当然
まとめ 
• ionice は以下の 2条件を満たした時にちゃんと動く 
• I/O Scheduler が CFQ 
• 特定のI/O処理 
• キャッシュされていないファイルへのRead 
• 特殊フラグの立った Write
さいごに 
• man ioprio_set を読もう 
• ファイル作成フラグの細かいことはまた今度 
• O_SYNC, O_DSYNC, O_FSYNC… 
• ionice -p <PID> を使うと、起動中のプロセスのI/O優 
先度...
Próxima SlideShare
Cargando en…5
×

その ionice、ほんとに効いてますか?

74.547 visualizaciones

Publicado el

ionice に関するスライド。続編 → http://www.slideshare.net/narimichitakamura/ionice2

Publicado en: Tecnología
  • Sé el primero en comentar

その ionice、ほんとに効いてますか?

  1. 1. その IONICE, ほんとに効いてますか? TAKAMURA Narimichi @nari_ex hbstyle-2014-08-14
  2. 2. WHAT IS IONICE ? • I/O の処理優先度を指定するLinuxコマンド • nice コマンドの I/O バージョン • nice コマンドでは I/O 優先度を制御不可
  3. 3. I/O 優先度クラス • RT ( Real-time ) • 最高優先度 • BE ( Best-Effort ) • デフォルト優先度 • Idle • 最低優先度
  4. 4. BE: クラス内優先度 • BE クラスのみ、クラス内優先度がある • 優先度は 0~7 までの 8段階 • 0が最高優先度、7が最低優先度 • 優先度はクラスの枠を超えない • RT > BE (0) • IDLE < BE (7)
  5. 5. BE: クラス内優先度 • BE クラスのみ、クラス内優先度がある • 優先度は 0~7 までの 8段階 • 0が最高優先度、7が最低優先度 • 優先度はクラスの枠を超えない • RT < BE (0) • IDLE < BE (7)
  6. 6. HOW TO IONICE • RT クラスを指定: ionice -c1 • BE クラスを指定: ionice -c2 -n <0~7> • IDLE クラスを指定: ionice -c3
  7. 7. 余談: NICE コマンド • クラスはない • 優先度 ( nice値 ) は -20~19 • -20 が最高優先度、19が最低優先度
  8. 8. 負荷を最小限に抑えたい!
  9. 9. ionice, nice を駆使して…
  10. 10. # ionice -c3 nice -n19
  11. 11. これで完璧だ!!!
  12. 12. –Johnny Appleseed
  13. 13. ちょっとまって
  14. 14. その IONICE, ほんとに効いてますか?
  15. 15. –Johnny Appleseed
  16. 16. IONICE が効く条件 • I/O スケジューラ • Readなの?Writeなの?フラグは? • ファイル作成フラグ • キャッシュの有無
  17. 17. I/O Scheduler…
  18. 18. ユーザ空間 VFS “ここに引用を入力してください。” –Johnny Appleseed カーネル空間 システムコール 物理 デバイス ファイルシステム ディスクキャッシュ 汎用ブロック層 物理 デバイス プロセス I/O スケジューラ層 デバイス ドライバ デバイス ドライバ
  19. 19. 条件その1: I/O SCHEDULER(1) • CFQ スケジューラ以外は無理 • Linux 標準のスケジューラは CFQ • Amazon Linux は Noop なので注意 • Unbreakable Linux は Deadline なので注意
  20. 20. 条件その1: I/O SCHEDULER(2) • デバイスひとつにI/Oスケジューラひとつ • デバイスをまたぐ処理の場合に注意 • 処理に関わるすべてのデバイスを確認せよ • # cat /sys/block/<DEV_NAME>/queue/ scheduler
  21. 21. 条件その2: I/O処理の内容(1) • Write() は基本的に効かない • O_DIRECT, O_SYNC をフラグ立ててればOK • -o sync でマウントされたファイルシステムならOK
  22. 22. 条件その2: I/O処理の内容(2) • Read() もすべてに効くわけではない • ディスクキャッシュがあるとダメ • ディスクアクセスないから当然
  23. 23. まとめ • ionice は以下の 2条件を満たした時にちゃんと動く • I/O Scheduler が CFQ • 特定のI/O処理 • キャッシュされていないファイルへのRead • 特殊フラグの立った Write
  24. 24. さいごに • man ioprio_set を読もう • ファイル作成フラグの細かいことはまた今度 • O_SYNC, O_DSYNC, O_FSYNC… • ionice -p <PID> を使うと、起動中のプロセスのI/O優 先度変更できるよ

×