GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengubah Prioritas Proses menggunakan Linux Contoh Nice dan Renice

Setiap proses yang berjalan di Unix memiliki prioritas yang ditetapkan untuknya.

Anda dapat mengubah prioritas proses menggunakan utilitas Nice dan renice. Perintah Nice akan meluncurkan proses dengan prioritas penjadwalan yang ditentukan pengguna. Perintah Renice akan mengubah prioritas penjadwalan proses yang sedang berjalan.

Kernel Linux menjadwalkan proses dan mengalokasikan waktu CPU yang sesuai untuk masing-masing proses. Namun, ketika salah satu proses Anda membutuhkan prioritas yang lebih tinggi untuk mendapatkan lebih banyak waktu CPU, Anda dapat menggunakan perintah Nice dan renice seperti yang dijelaskan dalam tutorial ini.

Rentang prioritas penjadwalan proses adalah dari -20 hingga 19. Kami sebut ini sebagai nilai bagus.

Nilai bagus -20 mewakili prioritas tertinggi, dan nilai bagus 19 mewakili prioritas paling rendah untuk suatu proses.

Secara default ketika sebuah proses dimulai, itu mendapat prioritas default 0.

1. Tampilkan Nilai Bagus dari suatu Proses

Prioritas proses saat ini dapat ditampilkan menggunakan perintah ps.

Kolom “NI” di output perintah ps menunjukkan nilai bagus saat ini (yaitu prioritas) dari suatu proses.

Kami akan meluncurkan program pengujian yang disebut test.pl yang akan digunakan untuk mendemonstrasikan perintah Nice dan renice. Program pengujian ini akan melakukan tugas-tugas tertentu, dan akan berjalan untuk sementara waktu.

$ perl test.pl

Jika Anda menjalankan perintah ps seperti yang ditunjukkan di bawah ini, Anda dapat melihat bahwa program test.pl ini memiliki nilai default Nice 0 (lihat kolom NI pada output berikut).

$ ps -fl -C "perl test.pl"
F S UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 R bala 6884  6424 99  80   0 -  1556 -      13:45 pts/3    00:05:54 perl test.pl

2. Luncurkan Program dengan Prioritas Lebih Rendah

Alih-alih meluncurkan program dengan prioritas default, Anda dapat menggunakan perintah Nice untuk meluncurkan proses dengan prioritas tertentu.

Dalam contoh ini, test.pl diluncurkan dengan nilai 10 yang bagus.

$ nice -10 perl test.pl

Catatan: Ingat bahwa -10 pada perintah di atas menetapkan prioritas proses ke 10. Perintah – di Nice adalah singkatan dari hypen, yang kita gunakan untuk meneruskan opsi ke perintah.

Jadi, untuk melewati nilai bagus 5, Anda akan mengatakan -5. Untuk melewati nilai bagus 6, Anda akan mengatakan -6.

Seperti yang Anda lihat di bawah, program ini sekarang diluncurkan dengan nilai bagus 10, yang berarti program ini akan berjalan pada prioritas yang lebih rendah jika dibandingkan dengan program lain yang diluncurkan secara default.

$ ps -fl -C "perl test.pl"
F S UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 R bala 7044  6424 99  90  10 -  1556 -      13:58 pts/3    00:00:03 perl test.pl

3. Luncurkan Program dengan Prioritas Tinggi

Anda juga dapat meluncurkan program dengan prioritas lebih tinggi. Nilai bagus negatif akan meningkatkan prioritas proses. Jadi, nilainya harus ditentukan dengan — (dua tanda hubung) di depan perintah Nice seperti yang ditunjukkan di bawah ini.

# nice --10 perl test.pl

Jadi, untuk meneruskan nilai bagus -5, Anda akan menambahkan dua tanda hubung di depan 5. Untuk melewati nilai bagus -6, Anda akan menambahkan dua tanda hubung di depan 6.

Seperti yang Anda lihat di bawah, program ini sekarang diluncurkan dengan nilai bagus -10, yang berarti program ini akan berjalan pada prioritas yang lebih tinggi jika dibandingkan dengan program lain yang diluncurkan secara default.

# ps -fl -C "perl test.pl"
F S UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 R root 3534  3234 99  70 -10 -  1557 ?      19:06 pts/1    00:00:56 perl test.pl

Catatan:Pengguna biasa tidak diperbolehkan meluncurkan program dengan prioritas lebih tinggi. Hanya pengguna root yang diizinkan untuk meluncurkan program dengan prioritas tinggi.

Sebagai pengguna biasa, jika Anda meningkatkan prioritas, Anda akan mendapatkan pesan kesalahan berikut dari perintah Nice.

$ nice --10 perl test.pl
nice: cannot set niceness: Permission denied

Perhatikan bahwa setelah mencetak pesan kesalahan di atas, program akan tetap berjalan dengan prioritas default (yaitu :0).

4. Ubah Prioritas dengan opsi -n

Prioritas proses dapat disesuaikan dengan bantuan opsi -n.

Tingkatkan prioritas:

# nice -n -5 perl test.pl

Kurangi prioritas:

# nice -n 5 perl test.pl

5. Ubah Prioritas Proses yang Berjalan

Prioritas proses yang sudah berjalan dapat diubah menggunakan perintah renice.

Dalam contoh ini, program test.pl sudah berjalan dengan nilai bagus -10.

# ps -fl -C "perl test.pl"
F S UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 R root 3534  3234 99  70 -10 -  1557 ?      19:06 pts/1    00:00:56 perl test.pl

Kita dapat mengubah nilai Nice dari program di atas menjadi -19 seperti yang ditunjukkan di bawah ini. Lewati id proses program di atas ke opsi -p.

# renice -n -19 -p 3534

Verifikasi bahwa nilai bagus diubah menjadi -19.

# ps -fl -C "perl test.pl"
F S UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 R root 3534  3234 99  70 -19 -  1557 ?      19:06 pts/1    00:00:56 perl test.pl

6. Ubah Prioritas Semua Proses yang Menjadi Milik Grup

Menggunakan opsi -g Anda dapat mengubah prioritas semua proses yang termasuk dalam grup. Perintah berikut akan mengubah nilai Nice dari semua proses yang dimiliki geekstuff menjadi 5.

# renice -n 5 -g geekstuff

7. Ubah Prioritas Semua Proses yang Dimiliki Pengguna

Renice memungkinkan untuk mengubah prioritas semua proses yang dimiliki oleh pengguna tertentu seperti yang ditunjukkan di bawah ini.

# renice -n 5 -u bala

Perintah di atas akan mengubah prioritas semua proses yang dimiliki oleh pengguna bala. Ini akan memberikan nilai bagus 5 untuk semua proses milik pengguna bala.

# ps -fl -C "perl"
F S UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 R bala 2720  2607 99  85   5 -  1556 -      14:34 pts/2    00:05:07 perl test.pl
0 R bala 2795  2661 99  85   5 -  1556 -      14:39 pts/3    00:00:09 perl 2.pl

Linux
  1. Tutorial Perintah Linux nice and renice (7 Contoh)

  2. Cara Menemukan dan Membunuh Proses Zombie di Linux

  3. Perintah Linux:Cara memanipulasi prioritas proses

  1. Cara Mengatur Prioritas Proses Linux Menggunakan Perintah Nice dan renice

  2. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  3. Bagaimana cara mengubah semua utas (dan anak-anak) dari satu proses di Linux?

  1. Cara Menggabungkan Ping dan Traceroute Di Linux Menggunakan Contoh Perintah MTR

  2. Contoh Perintah renice di Linux

  3. Contoh Perintah yang bagus di Linux