Aktivitas I/O disk yang tiba-tiba tinggi dapat membuat service mysql, web dan email di server Anda down. Sehingga sebagai Administrator system, Anda perlu mencari tahu penyebab naiknya aktivitas I/O disk lalu mengatur penjadwalan I/O dan prioritas program atau script agar tidak menganggu service yang sedang berjalan.
Untuk itu Anda dapat menggunakan utilitas ionice
agar dapat mengantur penjadwalan I/O dan prioritas suatu program.
Terdapat 3 scheduling classes:
- Idle: Program yang berjalan dengan prioritas idle IO hanya akan mendapatkan waktu disk ketika tidak ada program lain yang meminta disk IO untuk masa tenggang yang ditentukan.
- Best-effort: Ini merupakan default scheduling class untuk setiap proses yang meminta disk IO dengan prioritas yang ditentukan. Direkomendasikan untuk sebagian besar aplikasi.
- Realtime: Membuat program atau script diberikan akses pertama ke disk terlepas dari apapun yang terjadi pada system. Karena itu class ini perlu digunakan secara hati-hati.
Scheduling class | Number | Possible priority |
---|---|---|
Realtime | 1 | 8 priority levels are defined denoting how big a time slice a given process will receive on each scheduling window |
Best-effort | 2 | 0-7, with lower number being higher priority |
Idle | 3 | Nil ( does not take a priority argument) |
Syntax
ionice options PID
ionice options -p PID
ionice -c1 -n0 PID
Examples
Menampilkan class and priority pada PID 89 and 91.
ionice -p 89 91
Atur proses pada PID 89 sebagai proses I/O idle
.
ionice -c 3 -p 89
Untuk mengatur script sebagai proses I/O best-effort
dengan prioritas 7
ionice -c2 -n7 /root/script/backup.sh
Menjalankan bash
sebagai proses I/O best-effort
dengan prioritas tertinggi.
ionice -c 2 -n 0 bash
Selain itu, Anda juga dapat meningkatkan performa I/O disk dengan cara:
- Gunakan hardware RAID controller.
- Gunakan fast SCSI / SA-SCSI / SAS 15k speed disk.
- Gunakan SSD storage.
- Gunakan slave / passive server untuk backup.