GNU/Linux >> Belajar Linux >  >> Linux

Perintah Linux:Cara memanipulasi prioritas proses

Mengelola proses di Linux adalah konsep dasar yang harus dipahami oleh setiap administrator sistem yang baik. Sebagian besar pekerjaan yang Anda lakukan dengan proses ini terdiri dari tugas dasar yang berulang seperti memulai dan menghentikan proses, mencarinya, mematikannya, dll.

Dalam beberapa kasus yang jarang terjadi, Anda mungkin perlu mengurutkan ulang proses Anda karena alokasi sumber daya sistem. Ketika situasi ini muncul, banyak dari kita akan menggunakan mesin pencari favorit kita untuk mencari cara yang paling efisien untuk melakukan ini. Sekarang algoritme pencarian telah membawa Anda ke sini untuk Mengaktifkan Sysadmin, mari berikan jawaban yang Anda cari.

Saya akan merinci bagaimana prioritas ditentukan dan kemudian menunjukkan kepada Anda cara memanipulasi nilai-nilai di bawah ini.

Prioritas dan relativitas proses

Sistem Linux secara rutin menjalankan lebih banyak proses daripada unit pemrosesan di komputer. Karena itu, penjadwal proses akan dengan cepat melompat di antara proses pada satu inti, sehingga menciptakan ilusi bahwa kita menjalankan beberapa proses secara bersamaan.

Pada kenyataannya, setiap proses diberikan kebijakan penjadwalan proses. Dalam kebijakan ini, ada skala 40 poin yang digunakan untuk mengukur bagus tingkatan dari sebuah proses. Tingkat bagus adalah unit ukuran yang menggambarkan prioritas relatif dari proses. Saat membahas tingkat kebaikan, perhatikan bahwa skalanya adalah -20 (prioritas tertinggi) hingga 19 (prioritas terendah), dan bahwa suatu proses mewarisi tingkat kebaikannya dari induknya (paling sering 0).

[ Anda mungkin juga menikmati: Dasar-dasar Perintah Linux:7 perintah untuk manajemen proses  ]

Sekarang, jika suatu proses memiliki tingkat kebaikan yang lebih rendah (di bawah nol), maka kemungkinan kecil proses tersebut akan menghentikan penggunaan CPU-nya (tidak terlalu bagus, Apakah itu?). Di sisi lain, proses dengan nilai niceness yang tinggi (melebihi nol) akan cenderung menghentikan penggunaan CPU.

Cara mudah untuk mengingat ini adalah jika seseorang (atau suatu proses) benar-benar baik, mereka lebih cenderung untuk berbagi dengan orang lain. Jika mereka tidak terlalu baik, mereka cenderung lebih protektif terhadap apa yang menjadi milik mereka (dalam hal ini sumber daya CPU).

Juga, jika tidak ada kekurangan sumber daya, bahkan proses dengan tingkat kebaikan yang tinggi akan menggunakan semua waktu CPU yang tersedia. Satu-satunya waktu suatu proses akan menghasilkan sumber dayanya adalah ketika ada kekurangan bandwidth.

Laporan prioritas

Sekarang setelah kita memiliki semua konteks seputar prioritas proses, mari kita lihat beberapa cara untuk melihat informasi ini di terminal.

Cara tercepat dan paling dasar untuk melihat informasi kebaikan adalah dengan menggunakan top memerintah. Ini menampilkan informasi ini secara default di kolom keempat (kiri ke kanan) dan karena itu tidak memerlukan opsi atau tanda tambahan.

Metode lain dan sedikit lebih terlibat adalah dengan menggunakan ps perintah dengan bantuan opsi pemformatan yang murah hati. Perintah berikut akan menampilkan proses dengan ID proses, nama, tingkat kebaikan, dan kelas penjadwalannya (diurutkan menurun):

[tcarrigan@localhost ~]$ ps axo pid,comm,nice,cls --sort=-nice

Sekarang dalam waktu nyata:

Memanipulasi kebaikan yang ada

Kita sekarang tahu bagaimana melihat kebaikan proses yang ada, tetapi bagaimana jika level bagus itu tidak sesuai dengan kebutuhan kita? Bagaimana kita bisa mengubah nilai-nilai itu untuk mendapatkan hasil maksimal dari sistem kita? Nah, jika Anda memiliki proses tertentu yang menghabiskan sumber daya yang Anda butuhkan di tempat lain, Anda dapat menurunkan tingkat bagus dari proses spesifik itu. Untuk melakukan ini, kita akan menggunakan renice perintah.

Catatan :hanya pengguna root dapat mengurangi tingkat kebaikan (meningkatkan prioritas). Pengguna yang tidak memiliki hak dapat meningkatkan level yang bagus tetapi tidak dapat menurunkannya tanpa izin root.

Lihat sleep 500 ini proses. Ini memiliki PID 23990 dan level bagus default 0.

[tcarrigan@localhost ~]$ ps -o pid,comm,nice 23990
    PID COMMAND          NI
  23990 sleep             0

Jika saya ingin membuat proses itu tidak menjadi prioritas, saya akan menggunakan renice berikut ini:perintah:

Untuk membuat proses lebih penting (menurunkan level Nice), Anda akan menggunakan sintaks perintah yang sama dengan pengguna yang memiliki hak istimewa.

[ Lembar contekan gratis:Glosarium Kubernetes ] 

Satu hal terakhir

Oke, sebelum kita selesaikan, ada satu trik lagi yang ingin saya sertakan di sini. Jika Anda akan memulai proses yang biasanya memiliki tingkat default bagus yang tidak diinginkan, Anda sebenarnya dapat mengatur parameter itu saat Anda menelurkan proses. Kami akan menggunakan sleep perintah lagi. Namun kali ini kita akan membuatnya dengan nice perintah (yang menetapkan proses default ke level 10 yang bagus).

Anda dapat mengatur level Nice tertentu dengan menggunakan perintah yang sama dengan sintaks berikut:

[tcarrigan@localhost ~]$ nice -n 19 sleep 500 &

Perintah di atas mengatur latar belakang sleep 500 ke level 19 yang bagus.

Perintah-perintah ini sangat menyenangkan untuk dipelajari dan dipamerkan. Di masa mendatang, ketika saya mengalami masalah dengan sumber daya sistem atau proses yang membutuhkan, saya dapat memodifikasi sumber daya yang dialokasikan untuk mereka.


Linux
  1. Cara Mengubah Prioritas Proses menggunakan Linux Contoh Nice dan Renice

  2. Bagaimana cara menghentikan proses layar di linux?

  3. Cara membatasi perintah pengguna di Linux

  1. Cara mematikan proses zombie di Linux

  2. Cara Menjeda/Melanjutkan Proses di Linux

  3. Bagaimana penggunaan memori dilaporkan di Linux?

  1. 8 perintah Linux untuk manajemen proses yang efektif

  2. Cara Membatasi Penggunaan CPU Suatu Proses Di Linux

  3. Cara menginstal vtop di Linux