Cara mengatur prioritas proses linux menggunakan perintah yang bagus dan renice

Cara mengatur prioritas proses linux menggunakan perintah yang bagus dan renice

Dalam artikel ini, kami akan menjelaskan secara singkat Penjadwal Kernel (juga dikenal sebagai Penjadwal Proses), Dan prioritas proses, yang merupakan topik di luar ruang lingkup panduan ini. Kemudian kita akan menyelami sedikit manajemen proses Linux: lihat cara menjalankan program atau perintah dengan prioritas yang dimodifikasi dan juga mengubah prioritas menjalankan proses Linux.

Baca juga: Cara memantau proses Linux dan menetapkan batas proses berdasarkan per pengguna

Memahami Penjadwal Kernel Linux

Penjadwal kernel adalah unit kernel yang menentukan proses yang paling cocok dari semua proses yang dapat dijalankan untuk dieksekusi selanjutnya; itu mengalokasikan waktu prosesor antara proses yang dapat dijalankan pada suatu sistem. Proses runnable adalah proses yang hanya menunggu untuk waktu CPU, sudah siap untuk dieksekusi.

Penjadwal membentuk inti multitasking di Linux, menggunakan algoritma penjadwalan berbasis prioritas untuk memilih antara proses yang dapat dijalankan dalam sistem. Ini memberi peringkat pada proses berdasarkan yang paling layak serta kebutuhan untuk waktu CPU.

Memahami prioritas proses dan nilai yang bagus

Kernel menyimpan banyak informasi tentang proses termasuk prioritas proses yang hanya merupakan prioritas penjadwalan yang melekat pada suatu proses. Proses dengan prioritas yang lebih tinggi akan dieksekusi sebelum mereka dengan prioritas yang lebih rendah, sementara proses dengan prioritas yang sama dijadwalkan satu setelah yang berikutnya, berulang kali.

Ada total 140 Prioritas dan dua rentang prioritas berbeda yang diimplementasikan di Linux. Yang pertama adalah nilai yang bagus (kebaikan) dari yang berkisar -20 (nilai prioritas tertinggi) 19 (Nilai prioritas terendah) dan standarnya 0, Inilah yang akan kami temukan dalam panduan ini. Yang lainnya adalah prioritas real-time, yang berkisar 1 ke 99 secara default, lalu 100 ke 139 dimaksudkan untuk ruang pengguna.

Salah satu karakteristik penting dari Linux adalah penjadwalan berbasis prioritas dinamis, yang memungkinkan nilai proses yang bagus untuk diubah (meningkat atau menurun) tergantung pada kebutuhan Anda, seperti yang akan kita lihat nanti.

Cara memeriksa nilai yang bagus dari proses linux

Untuk melihat nilai -nilai proses yang bagus, kita dapat menggunakan utilitas seperti PS, top atau htop.

Untuk melihat proses nilai yang bagus dengan perintah PS dalam format yang ditentukan pengguna (di sini Ni Kolom menunjukkan kebaikan proses).

$ ps -eo pid, ppid, ni, comm 
Lihat Linux memproses nilai yang bagus

Atau, Anda dapat menggunakan utilitas atas atau htop untuk melihat proses linux nilai yang bagus seperti yang ditunjukkan.

$ top $ htop 
Periksa Proses Linux Nilai bagus menggunakan perintah atas Periksa Proses Linux Nilai bagus menggunakan perintah htop

Perbedaan antara PR atau PRI dan NI

Dari atas Dan htop output di atas, Anda akan melihat bahwa ada kolom yang disebut Pr Dan Pri reseptif yang menunjukkan prioritas suatu proses.

Ini, oleh karena itu, berarti bahwa:

  • Ni - adalah nilai yang bagus, yang merupakan konsep ruang pengguna, sementara
  • Pr atau Pri - adalah prioritas aktual proses, seperti yang terlihat oleh kernel Linux.
Cara menghitung nilai PR atau PRI
Total Jumlah Prioritas = 140 Kisaran Prioritas Waktu Nyata (PR atau PRI): 0 hingga 99 Rentang Prioritas Ruang Pengguna: 100 hingga 139 

Nice Value Range (NI): -20 hingga 19

Pr = 20 + ni pr = 20 + (-20 hingga + 19) pr = 20 + -20 hingga 20 + 19 pr = 0 hingga 39 yang sama dengan 100 hingga 139. 

Tetapi jika Anda melihat a Rt Daripada angka seperti yang ditunjukkan pada tangkapan layar di bawah ini, pada dasarnya itu berarti proses berjalan di bawah prioritas penjadwalan waktu nyata.

Proses Linux RT

Cara menjalankan perintah dengan nilai bagus yang diberikan di linux

Di sini, kita akan melihat cara memprioritaskan penggunaan CPU dari suatu program atau perintah. Jika Anda memiliki program atau tugas yang sangat intensif CPU, tetapi Anda juga memahami bahwa mungkin butuh waktu lama untuk menyelesaikannya, Anda dapat mengaturnya prioritas yang tinggi atau menguntungkan menggunakan Perintah yang bagus.

Sintaksnya adalah sebagai berikut:

$ nice -n nelcing-value [command args] atau $ nice -niceness-value [command args] #itu membingungkan untuk nilai negatif atau $ nice --adjustment = nelati-value [command args] 

Penting:

  • Jika tidak ada nilai yang diberikan, Nice menetapkan prioritas 10 secara default.
  • Perintah atau program dijalankan tanpa default yang bagus untuk prioritas nol.
  • Hanya root yang dapat menjalankan perintah atau program dengan peningkatan atau prioritas tinggi.
  • Pengguna normal hanya dapat menjalankan perintah atau program dengan prioritas rendah.

Misalnya, alih -alih memulai program atau perintah dengan prioritas default, Anda dapat memulainya dengan prioritas spesifik menggunakan perintah yang bagus.

$ sudo bagus -n 5 tar -czf cadangan.ter.GZ ./Dokumen/* atau $ sudo bagus --adjustment = 5 tar -czf cadangan.ter.GZ ./Dokumen/* 

Anda juga dapat menggunakan metode ketiga yang sedikit membingungkan terutama untuk nilai -nilai kebaikan negatif.

$ sudo bagus -5 tar -czf cadangan.ter.GZ ./Dokumen/* 

Ubah prioritas penjadwalan suatu proses di Linux

Seperti yang kami sebutkan sebelumnya, Linux memungkinkan penjadwalan berbasis prioritas dinamis. Oleh karena itu, jika suatu program sudah berjalan, Anda dapat mengubah prioritasnya dengan Perintah Renice Dalam bentuk ini:

$ renice -n -12 -p 1055 $ renice -n -2 -u Apache 
Ubah Prioritas Proses

Dari sampel atas output di bawah ini, kebaikan dari Teamspe+ dengan pid 1055 sekarang -12 dan untuk semua proses yang dimiliki oleh pengguna Apache adalah -2.

Masih menggunakan output ini, Anda dapat melihat formula Pr = 20 + ni berdiri,

PR untuk TS3Server = 20 + -12 = 8 PR untuk proses Apache = 20 + -2 = 18 
Proses Tonton Nilai yang bagus

Perubahan apa pun yang Anda buat Perintah Renice untuk proses pengguna nilai bagus hanya berlaku sampai reboot berikutnya. Untuk mengatur nilai default permanen, baca bagian berikutnya.

Cara mengatur nilai bagus default dari proses pengguna tertentu

Anda dapat mengatur nilai bagus default dari pengguna atau grup tertentu di /etc/keamanan/batasan.conf mengajukan. Fungsi utamanya adalah untuk menentukan batas sumber daya untuk pengguna yang masuk melalui PAM.

Sintaks untuk mendefinisikan batas untuk pengguna adalah sebagai berikut (dan nilai yang mungkin dari berbagai kolom dijelaskan dalam file):

#    

Sekarang gunakan sintaks di bawah ini di mana keras - berarti menegakkan tautan keras dan cara lunak - menegakkan batas lunak.

  prioritas  

Atau, buat file di bawah /etc/keamanan/batasan.D/ yang mengesampingkan pengaturan dalam file utama di atas, dan file -file ini dibaca dalam urutan abjad.

Mulailah dengan membuat file /etc/keamanan/batasan.d/tecmint-prioritas.conf untuk pengguna tecmint:

# vi/etc/keamanan/batasan.d/tecmint-prioritas.conf 

Kemudian tambahkan konfigurasi ini di dalamnya:

Tecmint Hard Prioritas 10 

Simpan dan tutup file. Mulai sekarang, proses apa pun yang dimiliki oleh tecmint akan memiliki nilai yang bagus 10 dan PR dari 30.

Untuk informasi lebih lanjut, baca halaman pria Bagus Dan Renice:

$ man nice $ man renice 

Anda mungkin juga ingin membaca artikel berikut ini tentang manajemen proses Linux.

  1. Cara Menemukan dan Membunuh Proses Berlari di Linux
  2. Panduan untuk Membunuh, Pkill dan Killall memerintahkan untuk mengakhiri proses di Linux
  3. Cara memantau penggunaan sistem, pemadaman, dan pemecahan masalah server Linux
  4. CPUTOOL - Batasi dan Kontrol Pemanfaatan CPU dari proses apa pun di Linux

Dalam artikel ini, kami secara singkat menjelaskan penjadwal kernel, prioritas proses, melihat cara menjalankan program atau perintah dengan prioritas yang dimodifikasi dan juga mengubah prioritas proses linux aktif. Anda dapat membagikan pemikiran apa pun tentang topik ini melalui formulir umpan balik di bawah ini.