GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana prioritas proses dihitung?

Di ps keluaran, pri_baz dihitung sebagai pp->priority + 100 , dan pp->priority adalah prio nilai dari kernel. Ini dijelaskan sebagai

Prioritas proses dimulai dari 0..MAX_PRIO -1, prioritas RT yang valid adalah 0..MAX_RT_PRIO -1, dan SCHED_NORMAL /SCHED_BATCH tugas berada dalam rentang MAX_RT_PRIO ..MAX_PRIO -1. Nilai prioritas dibalik:lebih rendah p->prio nilai berarti prioritas yang lebih tinggi.

MAX_USER_RT_PRIO nilai memungkinkan prioritas RT maksimum yang sebenarnya terpisah dari nilai yang diekspor ke ruang pengguna. Hal ini memungkinkan utas kernel menyetel prioritasnya ke nilai yang lebih tinggi daripada tugas pengguna mana pun. Catatan:MAX_RT_PRIO tidak boleh lebih kecil dari MAX_USER_RT_PRIO .

Jadi rentang di kernel mencakup 140 nilai, dari 0 hingga MAX_PRIO –1 (139).

Namun, FIFO minimum dan prioritas RT adalah 1, dan ini menjelaskan nilai yang hilang:nilai masukan (setidaknya, yang dapat diatur dari ruang pengguna, menggunakan sched_setscheduler ) beralih dari 1 ke 99, dan kernel mengubahnya menjadi prio nilai menggunakan rumus MAX_RT_PRIO – 1 – prioritas , memberikan nilai dari 0 hingga 98.


Linux
  1. Nilai Maksimum Id Proses?

  2. Bagaimana Nomor Cap Waktu Di /etc/shadow Dihitung?

  3. Bagaimana cara mendapatkan ID proses dari proses latar belakang?

  1. Cara mematikan proses zombie di Linux

  2. Cara Menghentikan Proses dalam MySQL

  3. Cara membaca variabel lingkungan dari suatu proses

  1. Cara menginstal vtop di Linux

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

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