Menggunakan arahan "Nice" dan "Renice" di Linux

Ini semua tentang keutamaan.

Sistem Linux boleh menjalankan banyak proses (pekerjaan) secara serentak. Walaupun CPU mempunyai banyak pemproses atau teras, bilangan proses umumnya jauh melebihi jumlah teras yang tersedia. Ini adalah tugas kernel Linux untuk mengedarkan siklus CPU yang tersedia kepada proses aktif.

Baik untuk Dapatkan Keutamaan Lurus

Secara lalai, semua proses dianggap sama penting dan diberi jumlah masa CPU yang sama. Untuk membolehkan pengguna mengubah pentingnya proses, Linux mengaitkan parameter keutamaan dengan setiap tugas yang boleh ditetapkan atau diubah oleh pengguna. Kernel Linux kemudian memegang masa CPU untuk setiap proses berdasarkan nilai prioriti relatifnya.

Parameter yang bagus digunakan untuk tujuan ini. Ia berkisar dari minus 20 hingga ke-19 dan boleh mengambil nilai-nilai integer sahaja. Nilai minus 20 mewakili tahap keutamaan tertinggi, manakala 19 mewakili terendah. Hakikat bahawa tahap keutamaan tertinggi yang ditunjukkan oleh bilangan yang paling negatif adalah agak tidak wajar; Walau bagaimanapun, berjalan pada keutamaan yang lebih rendah dianggap "lebih baik," kerana ia membolehkan proses lain menggunakan bahagian masa CPU yang lebih besar.

Cara Main Nice

Menggunakan perintah bagus memulakan proses baru (pekerjaan) dan memberikan nilai keutamaan (bagus) pada masa yang sama. Untuk mengubah keutamaan proses yang sedang berjalan, gunakan pengubah arahan.

Sebagai contoh, baris arahan berikut memulakan proses "kerja besar", menetapkan nilai bagus kepada 12:

bagus -12 kerja besar

Perhatikan bahawa dash di hadapan 12 tidak mewakili tanda tolak. Ia mempunyai fungsi biasa menandakan bendera diluluskan sebagai hujah kepada perintah yang bagus.

Untuk menetapkan nilai bagus kepada tolak 12, tambahkan satu lagi dash:

bagus - 12 pekerjaan besar

Ingatlah bahawa nilai yang lebih baik lebih rendah sepadan dengan keutamaan yang lebih tinggi. Jadi, -12 mempunyai keutamaan yang lebih tinggi daripada 12. Nilai bagus lalai adalah 0. Pengguna tetap boleh menetapkan keutamaan yang lebih rendah (nilai-nilai positif yang positif). Untuk menggunakan keutamaan yang lebih tinggi (nilai bagus negatif), keistimewaan pentadbir diperlukan.

Anda boleh mengubah keutamaan kerja yang sedang dijalankan menggunakan renikan:

ubah 17-h 1134

Ini mengubah nilai kerja yang bagus dengan proses id 1134 hingga 17. Dalam hal ini, tiada sengkang digunakan untuk pilihan perintah ketika menentukan nilai bagus. Perintah berikut mengubah nilai proses 1134 ke -3:

renikan -3 -p 1134

Untuk mencetak senarai proses semasa , gunakan arahan ps. Menambah pilihan "l" (seperti dalam "senarai") menyenaraikan nilai bagus di bawah tajuk lajur "NI." Sebagai contoh:

ps -al