Öncelik nedir ve neden önemsemeliyim?
İşlemler hakkında konuşurken öncelik, işlemci zamanını yönetmektir. İşlemci veya CPU aynı anda birden fazla görevi hokkabaz yapan bir insan gibidir. Bazen birden fazla proje üstlenmek için yeterli alanımız olabilir. Bazen tek seferde sadece bir şeye odaklanabiliriz. Diğer zamanlarda önemli bir şey ortaya çıkıyor ve tüm enerjimizi bu problemi çözerek, arka yakıcıya daha az önemli görevler koyarken ayırmak istiyoruz.
Linux'ta, CPU'nun yapması gereken tüm görevlere bakıldığında takip etmesi için yönergeler belirleyebiliriz. Bu yönergelere hoş veya güzel değer denir. Linux hoşluk ölçeği -20'den 19'a gider. Sayı ne kadar düşük olursa, bu görev o kadar öncelikli olur. Eğer nicelik değeri 19 gibi yüksek sayıdaysa, görev en düşük önceliğe ayarlanacak ve bir şans olduğunda CPU işleyecektir. Varsayılan değer sıfırdır.
Bu ölçeği kullanarak CPU kaynaklarımızı daha uygun şekilde ayırabiliriz. Önemsiz olan daha düşük öncelikli programlar daha yüksek bir değere ayarlanabilirken, daha yüksek CPU'lar ve servisler gibi yüksek öncelikli programlar, CPU'nun odağını daha fazla alacak şekilde ayarlanabilir. Belirli bir kullanıcıya tüm süreçleri için daha düşük bir değer verebilir, böylece bilgisayarınızın ana hizmetlerini yavaşlatma yeteneklerini sınırlayabilirsiniz.
Kaynak
Yeni işlemler için önceliği nice
ile ayarlayın, örn.
nice -n 10 firefox
Mevcut işlemler için
renice 10 -p $(pgrep firefox)
Önceliği belirlemek için <0
'ye ihtiyacınız var sudo
, örn .:
renice -1 -p $(pgrep firefox)
renice: failed to set priority for 2769 (process ID): Permission denied
ancak öncelik >=0
için değil
Örnek
% ps -o pid,comm,pri,nice -p $(pgrep firefox)
PID COMMAND PRI NI
2769 firefox 19 0
% renice 10 -p 2769 # note, we don't need sudo here
2769 (process ID) old priority 0, new priority 10
% ps -o pid,comm,pri,nice -p $(pgrep firefox)
PID COMMAND PRI NI
2769 firefox 9 10
% sudo renice -19 -p 2769
2769 (process ID) old priority 10, new priority -19
% ps -o pid,comm,pri,nice -p $(pgrep firefox)
PID COMMAND PRI NI
2769 firefox 38 -19
Diğer örnek
Belirli bir kullanıcı için tüm çalışan işlemleri yeniden boyutlandırmak için
renice 20 -u user_name