Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ͦͷ IONICE, ΄Μͱʹޮ͍ͯ·͔͢ʁ TAKAMURA Narimichi @nari_ex hbstudy-2014-08-14
Slide 2
Slide 2 text
what is ionice ? I/O ͷॲཧ༏ઌΛࢦఆ͢ΔLinuxίϚϯυ nice ίϚϯυͷ I/O όʔδϣϯ nice ίϚϯυͰ I/O ༏ઌΛ੍ޚෆՄ
Slide 3
Slide 3 text
I/O ༏ઌΫϥε RT ( Real-time ) ࠷ߴ༏ઌ BE ( Best-Effort ) σϑΥϧτ༏ઌ Idle ࠷༏ઌ
Slide 4
Slide 4 text
BE: Ϋϥε༏ઌ BE ΫϥεͷΈɺΫϥε༏ઌ͕͋Δ ༏ઌ 0ʙ7 ·Ͱͷ 8ஈ֊ 0͕࠷ߴ༏ઌɺ7͕࠷༏ઌ ༏ઌΫϥεͷΛ͑ͳ͍ RT > BE (0) IDLE < BE (7)
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
How to ionice RT ΫϥεΛࢦఆ: ionice -c1 BE ΫϥεΛࢦఆ: ionice -c2 -n <0ʙ7> IDLE ΫϥεΛࢦఆ: ionice -c3
Slide 7
Slide 7 text
༨ஊ: nice ίϚϯυ Ϋϥεͳ͍ ༏ઌ ( nice ) -20ʙ19 -20 ͕࠷ߴ༏ઌɺ19͕࠷༏ઌ
Slide 8
Slide 8 text
ෛՙΛ࠷খݶʹ͍͑ͨʂ
Slide 9
Slide 9 text
ionice, nice Λۦͯ͠…
Slide 10
Slide 10 text
# ionice -c3 nice -n19
Slide 11
Slide 11 text
͜ΕͰᘳͩʂʂʂ
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
ͪΐͬͱ·ͬͯ
Slide 14
Slide 14 text
ͦͷ IONICE, ΄Μͱʹޮ͍ͯ·͔͢ʁ
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
ionice ͕ޮ݅͘ I/O εέδϡʔϥ ReadͳͷʁWriteͳͷʁϑϥάʁ ϑΝΠϧ࡞ϑϥά Ωϟογϡͷ༗ແ
Slide 17
Slide 17 text
I/O Scheduler…
Slide 18
Slide 18 text
VFS Χʔωϧۭؒ γεςϜίʔϧ Ϣʔβۭؒ ཧ σόΠε ϑΝΠϧγεςϜ σΟεΫΩϟογϡ ൚༻ϒϩοΫ ཧ σόΠε ϓϩηε I/Oεέδϡʔϥ σόΠε υϥΠό σόΠε υϥΠό
Slide 19
Slide 19 text
݅ͦͷ̍: I/O Scheduler(1) CFQ εέδϡʔϥҎ֎ແཧ Linux ඪ४ͷεέδϡʔϥ CFQ Amazon Linux Noop ͳͷͰҙ Unbreakable Linux Deadline ͳ ͷͰҙ
Slide 20
Slide 20 text
σόΠεͻͱͭʹI/Oεέδϡʔϥͻͱͭ σόΠεΛ·͙ͨॲཧͷ߹ʹҙ ॲཧʹؔΘΔͯ͢ͷσόΠεΛ֬ೝͤΑ # cat /sys/block//queue/ scheduler ݅ͦͷ̍: I/O Scheduler(2)
Slide 21
Slide 21 text
݅ͦͷ̎: I/Oॲཧͷ༰(1) Write() جຊతʹޮ͔ͳ͍ O_DIRECT, O_SYNC Λϑϥάཱͯ ͯΕOK -o sync ͰϚϯτ͞ΕͨϑΝΠϧ γεςϜͳΒOK
Slide 22
Slide 22 text
݅ͦͷ̎: I/Oॲཧͷ༰(2) Read() ͯ͢ʹޮ͘Θ͚Ͱͳ͍ σΟεΫΩϟογϡ͕͋Δͱμϝ σΟεΫΞΫηεͳ͍͔Βવ
Slide 23
Slide 23 text
·ͱΊ ionice ҎԼͷ ̎݅Λຬͨͨ࣌͠ʹͪΌΜͱಈ͘ I/O Scheduler ͕ CFQ ಛఆͷI/Oॲཧ Ωϟογϡ͞Ε͍ͯͳ͍ϑΝΠϧͷRead ಛघϑϥάͷཱͬͨ Write
Slide 24
Slide 24 text
͍͞͝ʹ man ioprio_set Λಡ͏ ϑΝΠϧ࡞ϑϥάͷࡉ͔͍͜ͱ·ͨࠓ O_SYNC, O_DSYNC, O_FSYNC… ionice -p Λ͏ͱɺىಈதͷϓϩη εͷI/O༏ઌมߋͰ͖ΔΑ