GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengubah Prioritas Proses Di Linux

Dalam ekosistem Unix, proses adalah program yang sedang berjalan. Jadi, program apa pun yang berjalan di kotak Linux Anda adalah sebuah proses. Satu atau lebih proses dapat berjalan di kotak Linux Anda pada satu waktu. Kami dapat menampilkan informasi tentang proses aktif menggunakan ps memerintah. Secara default, perintah ps hanya menampilkan proses pengguna saat ini. Anda dapat menggunakan perintah "ps -ef" (tanpa tanda kutip, tentunya) untuk menampilkan semua proses. Untuk melihat pengguna dari suatu proses, kami menggunakan "ps -u". Semoga Anda mendapatkan ide dasar tentang proses Linux. Sekarang mari kita ke topik hari ini - bagaimana mengubah prioritas proses di Linux menggunakan bagus dan menyewa perintah.

Seperti yang Anda ketahui, secara default, kernel Linux menganggap semua proses sama pentingnya dan mengalokasikan jumlah waktu CPU yang sama untuk setiap proses. Terkadang, Anda mungkin ingin menambah atau mengurangi prioritas proses tertentu untuk memanfaatkan lebih banyak waktu CPU. Di sinilah perintah Nice dan renice membantu. Perintah Nice digunakan untuk menjalankan proses dengan prioritas yang ditentukan pengguna sedangkan perintah renice digunakan untuk mengubah prioritas proses yang sedang berjalan. Umumnya, perintah Nice dan renice digunakan untuk mengubah prioritas daripada prioritas default suatu proses.

Ubah Prioritas Proses Dengan perintah Nice

Melihat prioritas default dari suatu Proses

Setiap kali sebuah proses dimulai secara normal, itu mendapat nilai prioritas default nol .

Kami menggunakan program cmus , pemutar media baris perintah untuk tujuan panduan ini.

Mari kita jalankan dengan perintah:

$ cmus &

Catatan: Jika sebuah perintah dihentikan oleh operator kontrol & , shell mengeksekusi perintah di latar belakang dalam subkulit.

Sekarang mari kita lihat proses yang berjalan menggunakan perintah:

$ ps -al

Contoh keluaran:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 1000 13829 13704 0 80 0 - 39431 signal pts/0 00:00:00 cmus
0 R 1000 13848 13704 0 80 0 - 8148 - pts/0 00:00:00 ps

Lihat proses yang berjalan menggunakan perintah ps

Seperti yang Anda lihat pada output di atas, nilai niceness tercantum di bawah judul kolom "NI" . Jadi, jelas bahwa semua proses mendapatkan nilai prioritas default nol.

Mulai proses dengan utilitas yang bagus

Jika Anda memulai proses dengan perintah Nice tanpa argumen apa pun, proses tersebut mendapatkan nilai default 10 . Di sini 10 adalah nilai kebaikan atau prioritas. Nilai kebaikan berkisar dari -20 (paling mendukung prosesnya) hingga 19 (paling tidak mendukung proses). Sederhananya, nilai negatif (Misalnya -20) memberikan prioritas yang lebih tinggi untuk suatu proses dan nilai positif (Misalnya 19) memberikan prioritas yang lebih rendah.

Sekarang, mari kita hentikan program cmus yang sedang berjalan dengan perintah:

$ kill -9 13829

Di sini, 13829 adalah PID program cmus. Anda akan melihat nilai ini di bawah judul "PID" pada output di atas.

Sekarang, jalankan program cmus dengan utilitas 'bagus'.

$ nice cmus &

Periksa proses yang sedang berjalan dengan perintah:

$ ps -al

Contoh keluaran:

 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
 0 T 1000 13957 13704 0 90 10 - 55815 signal pts/0 00:00:00 cmus
 0 R 1000 13985 13704 0 80 0 - 8148 - pts/0 00:00:00 ps

Mulai proses dengan utilitas yang bagus

Lihat, sekarang proses cmus mendapatkan nilai niceness default 10 , yang berarti prioritasnya telah diubah.

Mulai proses dengan utilitas bagus dengan prioritas lebih rendah

Juga, Anda dapat memulai proses yang sama dengan nilai kebaikan tertentu, misalnya 15 , seperti di bawah ini.

Matikan proses dengan perintah kill:

$ kill -9 13957

Sekali lagi, mulai proses dengan nilai niceness 15:

$ nice -15 cmus &

Catatan: Di sini, jangan bingung - (tanda hubung) dengan minus. Kami menggunakan - (tanda hubung) untuk memberikan nilai. Oleh karena itu, untuk menetapkan nilai positif, kami menggunakan -15. Demikian juga, untuk menetapkan nilai negatif, kami menggunakan --15 (yaitu tanda hubung ganda).

Mari kita periksa nilai niceness menggunakan perintah ps -al:

$ ps -al

Contoh keluaran:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 1000 14060 13704 0 95 15 - 55815 signal pts/0 00:00:00 cmus
0 R 1000 14069 13704 0 80 0 - 8148 - pts/0 00:00:00 ps

Mulai proses dengan utilitas bagus dengan prioritas lebih rendah

Lihat, sekarang proses cmus mendapatkan nilai niceness 15.

Dalam contoh di atas, kami meluncurkan proses dengan prioritas lebih rendah. Ingat nilai kebaikan positif mewakili prioritas yang lebih rendah .

Mulai Proses dengan utilitas Nice dengan Prioritas lebih tinggi

Anda sudah tahu bahwa nilai kebaikan negatif mewakili prioritas yang lebih tinggi. Harap perhatikan bahwa pengguna biasa tidak diizinkan untuk memulai proses dengan prioritas lebih tinggi. Anda harus menjadi pengguna root untuk meluncurkan proses apa pun dengan prioritas lebih tinggi .

Jadi, untuk memulai proses menggunakan utilitas Nice dengan prioritas lebih rendah, misalnya -15 , jalankan perintah berikut:

# nice --15 cmus &

Contoh keluaran:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 14331 14306 0 80 0 - 20531 poll_s pts/0 00:00:00 sudo
4 S 0 14332 14331 0 80 0 - 13796 wait pts/0 00:00:00 su
4 S 0 14333 14332 0 80 0 - 5736 wait pts/0 00:00:00 bash
4 T 0 14358 14333 0 65 -15 - 55643 signal pts/0 00:00:00 cmus
0 R 0 14366 14333 0 80 0 - 8148 - pts/0 00:00:00 ps

Mulai Proses dengan utilitas Nice dengan Prioritas lebih tinggi

Mulai proses dengan opsi -n

Anda juga dapat menggunakan -n pilihan untuk menambah atau mengurangi prioritas.

Untuk meningkatkan prioritas, jalankan perintah berikut sebagai root pengguna:

# nice -n -15 cmus &

Untuk mengurangi prioritas, jalankan perintah berikut sebagai normal pengguna:

$ nice -n 15 cmus &
Unduh - eBuku gratis:"Tutorial Amazon S3"

Ubah Prioritas Proses yang Berjalan Dengan perintah Renice

Apa yang telah kami lihat sejauh ini adalah kami meluncurkan proses dengan prioritas yang ditentukan pengguna. Sekarang, kita akan mengubah prioritas proses yang sedang berjalan menggunakan perintah renice.

Mari kita lihat proses yang berjalan menggunakan perintah:

$ ps -al

Contoh keluaran:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 1000 15059 14306 0 95 15 - 55815 signal pts/0 00:00:00 cmus
0 R 1000 15066 14306 0 80 0 - 8148 - pts/0 00:00:00 ps

Seperti yang Anda lihat pada output di atas, cmus berjalan dengan nilai prioritas lebih rendah dari 15.

Untuk mengubah nilai niceness saat ini dari proses yang sedang berjalan, misalnya 18 , jalankan perintah berikut:

$ renice -n 18 -p 15059

Di sini, 15059 adalah id proses dari proses cmus.

Contoh keluarannya adalah:

15059 (process ID) old priority 15, new priority 18

Verifikasi nilai niceness menggunakan perintah:

$ ps -al

Contoh keluaran:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 1000 15059 14306 0 98 18 - 55815 signal pts/0 00:00:00 cmus
0 R 1000 15074 14306 0 80 0 - 8148 - pts/0 00:00:00 ps

Untuk mengubahnya ke nilai kebaikan negatif (untuk menetapkan prioritas yang lebih tinggi), jalankan perintah berikut sebagai root pengguna:

# renice -n -20 -p 14749

Anda bahkan dapat mengubah prioritas semua grup lari milik grup tertentu seperti di bawah ini.

# renice -n -20 -g ostechnix

Perintah di atas mengubah prioritas semua proses yang berjalan yang termasuk dalam grup yang disebut ostechnix .

Dan juga, Anda dapat mengubah prioritas menjalankan proses yang dimiliki oleh pengguna tertentu, misalnya sk , menggunakan perintah:

# renice -n -20 -u sk

Untuk opsi lebih lanjut, saya sarankan Anda untuk merujuk ke halaman manual utilitas bagus dan renice.

$ man nice
$ man renice

Bacaan yang disarankan:

  • Cara Mengetahui Berapa Lama Proses Telah Berjalan Di Linux
  • Cara Menampilkan Informasi Proses Menggunakan Procs Di Linux

Saya harap Anda mendapatkan ide dasar tentang apa itu proses Linux, dan bagaimana mengubah prioritasnya menggunakan utilitas Nice dan renice. Semoga membantu.


Linux
  1. Cara menggunakan perintah history di Linux

  2. Cara Mengubah Kata Sandi di Linux (perintah passwd)

  3. Bagaimana mengubah identitas sistem Linux

  1. Cara menggunakan perintah grep Linux

  2. Cara Menggunakan Perintah sejarah Linux

  3. UNIX / Linux :Bagaimana mengubah kebaikan (prioritas) suatu proses

  1. Cara Menggunakan Perintah Linux xargs

  2. Cara Menggunakan Perintah tee Linux

  3. Cara Menggunakan Perintah cd Linux untuk Mengubah Direktori