Ionice, bir işlem için io önceliğini ayarlamaya izin veren standart bir linux komutudur:
http://linux.die.net/man/1/ionice
Çocuk süreçleri iyonik öncelikleri ebeveynlerinden miras alırlar? Çalışan bir işlemin önceliğini nasıl kontrol edersiniz?
Ionice, bir işlem için io önceliğini ayarlamaya izin veren standart bir linux komutudur:
http://linux.die.net/man/1/ionice
Çocuk süreçleri iyonik öncelikleri ebeveynlerinden miras alırlar? Çalışan bir işlemin önceliğini nasıl kontrol edersiniz?
Yanıtlar:
Evet. Test ettim. IO önceliği aynı CPU güzelliği gibi miras alınır. Muhtemelen budur. Değilse, ionice komutuyla alt işlemlerin GÇ önceliğini açıkça belirleyebilirsiniz.
Çatallanan işlemler, io sınıfını ve ebeveynlerinin önceliğini devralır, ancak akılda tutulması gereken önemli bir gerçek, io sınıfını ve / veya çalışan bir işlemin önceliğini değiştirirseniz, io sınıfını / önceliğini değiştirmemesidir. o sürecin mevcut alt süreçleri . Bununla birlikte, çalışan bir işlemin sınıfını ve / veya önceliğini ayarladıktan sonra, ileriye doğru çatallanan alt süreçler yeni io sınıfını ve önceliğini devralır.
Evet ve ben böyle test ettim
İki dosya oluştur foo.sh
# ==> foo.sh <==
echo $$
ionice
ve 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
Sonra çalıştırın:
$ bash nicechange.sh
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4