Apakah anak-anak memproses pewarisan prioritas dari orangtua mereka? Bagaimana Anda memeriksa prioritas IO dari proses yang berjalan?

15

Ionice adalah perintah standar linux yang memungkinkan untuk menetapkan prioritas io untuk suatu proses:

http://linux.die.net/man/1/ionice

Apakah anak-anak memproses pewarisan prioritas dari orangtua mereka? Bagaimana Anda memeriksa prioritas proses yang berjalan?

Peltier
sumber

Jawaban:

12

Iya. Saya mengujinya. Prioritas IO diwarisi seperti halnya kebaikan CPU. Ini mungkin yang Anda inginkan. Jika tidak, Anda dapat secara eksplisit menentukan prioritas IO proses anak dengan perintah ionice.

Ryan C. Thompson
sumber
9

Dari halaman manual ( man ionice):

# ionice -p 89 91
Prints the class and priority of the processes with PID 89 and 91.
Alvin Row
sumber
Memberi +1 untuk Anda sejak Anda menjawab bagian lain dari pertanyaan.
Ryan C. Thompson
7

Setiap proses yang bercabang mewarisi kelas io dan prioritas orang tua mereka, namun fakta penting yang perlu diingat adalah bahwa jika Anda mengubah kelas io dan / atau prioritas proses yang sedang berjalan itu tidak mengubah kelas io / prioritas setiap proses anak saat ini dari proses itu . Yang mengatakan, begitu Anda telah menyesuaikan kelas dan / atau prioritas proses yang berjalan, setiap proses anak yang bercabang ke depan akan mewarisi kelas dan prioritas io baru.


sumber
1

Ya dan ini adalah bagaimana saya mengujinya

Buat dua file foo.sh

# ==> foo.sh <==
echo $$
ionice

dan nicechange.sh

# ==> nicechange.sh <==
echo $$
echo -n Before change:
ionice

echo Change to best-effort
ionice -c best-effort -p $$

echo After changed
ionice

echo Subprocess
x=$(bash foo.sh)
echo $x

Kemudian, jalankan:

$ bash nicechange.sh 
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4
HVNMencintai
sumber