Proses membentuk inti dari sistem Linux yang sedang berjalan. Ketika sebuah program diubah menjadi sebuah proses (yaitu ketika dijalankan), banyak atribut yang ditetapkan. Terkadang, Anda mungkin ingin mengubah atribut ini saat runtime. Ada alat baris perintah chrt yang memungkinkan Anda melakukan ini.
Dalam tutorial ini, kita akan membahas utilitas ini dengan beberapa contoh yang mudah dipahami. Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh dalam artikel ini telah diuji pada mesin Ubuntu 18.04 LTS.
Perintah chrt Linux
Seperti yang telah disebutkan di bagian pendahuluan di atas, perintah chrt memungkinkan Anda memanipulasi atribut waktu nyata dari suatu proses. Berikut sintaksnya:
chrt [options] -p [prio] pid
Dan inilah cara halaman manual alat menjelaskannya:
chrt sets or retrieves the real-time scheduling attributes of an exist?
ing pid, or runs command with the given attributes. Both policy (one
of SCHED_OTHER, SCHED_FIFO, SCHED_RR, SCHED_BATCH, or SCHED_IDLE) and
priority can be set and retrieved.
The SCHED_BATCH policy is supported since Linux 2.6.16. The SCHED_IDLE
policy is supported since Linux 2.6.23.
The SCHED_RESET_ON_FORK flag for policies SCHED_RR and SCHED_FIFO is
supported since Linux 2.6.31.
Berikut adalah beberapa contoh gaya Q&A yang akan memberi Anda ide bagus tentang cara kerja perintah chrt.
Q1. Bagaimana cara menggunakan perintah chrt?
Misalkan Anda tertarik untuk memanipulasi kebijakan penjadwalan atau prioritas proses gedit. Jadi, hal pertama yang perlu Anda lakukan adalah mendapatkan id proses untuk proses ini, sesuatu yang dapat Anda lakukan menggunakan perintah pidof.
pidof gedit
Di sistem saya, misalnya, perintah di atas memberikan pid '6063' sebagai output. Sekarang, untuk mengambil kebijakan penjadwalan saat ini dan prioritas untuk proses gedit, gunakan chrt dengan cara berikut:
chrt -p 6063
Dan inilah output yang dihasilkan oleh perintah ini di sistem saya:
pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0
Q2. Bagaimana membuat chrt menunjukkan prioritas valid minimum/maksimum?
Ini dapat dilakukan dengan menggunakan opsi baris perintah -m.
chrt -m
Misalnya, pada sistem kami, perintah di atas menghasilkan output berikut:
SCHED_OTHER min/max priority : 0/0
SCHED_FIFO min/max priority : 1/99
SCHED_RR min/max priority : 1/99
SCHED_BATCH min/max priority : 0/0
SCHED_IDLE min/max priority : 0/0
Anda harus mengacu pada nilai-nilai ini untuk pengaturan prioritas saat mengatur kebijakan penjadwalan.
Q3. Bagaimana cara menyetel kebijakan penjadwalan ke SCHED_BATCH?
Ini dapat dilakukan dengan menggunakan opsi baris perintah -b.
Misalnya:
chrt -b -p 0 6063
Sekarang jika Anda memeriksa kembali kebijakan penjadwalan untuk gedit menggunakan perintah berikut:
chrt -p 6063
Anda akan mendapatkan output yang mirip dengan berikut ini, menandakan perubahan yang Anda lakukan telah diterapkan:
pid 6063's current scheduling policy: SCHED_BATCH
pid 6063's current scheduling priority: 0
Q4. Bagaimana cara menyetel kebijakan penjadwalan ke SCHED_FIFO?
Ini dapat dilakukan dengan menggunakan opsi baris perintah -f.
chrt -f -p 20 6063
Seperti yang dilakukan pada T&J sebelumnya, Anda dapat memverifikasi silang perubahan menggunakan chrt -p memerintah. Harap dicatat bahwa Anda mungkin memerlukan hak akses root untuk menggunakan opsi baris perintah -f.
Q5. Bagaimana cara menyetel kebijakan penjadwalan ke SCHED_OTHER?
Ini dapat dilakukan dengan menggunakan opsi baris perintah -o.
chrt -o -p 0 6063
Untuk memverifikasi, gunakan perintah chrt -p.
chrt -p 6063
Berikut adalah output dalam kasus saya:
pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0
Kesimpulan
Setuju, perintah chrt bukanlah jenis alat yang dapat Anda gunakan setiap hari. Heck, Anda bahkan mungkin tidak memerlukannya sampai Anda masuk ke manajemen sistem atau mengerjakan beberapa pekerjaan terkait penjadwalan kernel. Namun, perlu diketahui setidaknya bahwa alat seperti itu ada. Untuk informasi lebih lanjut tentang chrt, kunjungi halaman manualnya.