niceness

Bilgisayarınızda birden fazla programı aynı anda çalıştırdığınızda, örneğin Chrome, Microsoft Word veya Photoshop gibi programlar çalışıyor gibi görünse de, bu programlar tam olarak aynı anda çalışmazlar.

İşlemler, zaman dilimi adı verilen kısa bir süre için CPU'yu kullanırlar. Daha sonra milisaniyeler boyunca dururlar ve başka bir işlem biraz zaman dilimi alır. İşlem zamanlaması varsayılan olarak bu döngüsel yöntemle gerçekleşir. Her işlem, işlenmesi bitene kadar yeterli zaman dilimi alır. Çekirdek (kernel), tüm bu işlem geçişlerini yönetir ve genellikle bu işi oldukça iyi yapar.

İşlemler ne zaman ve ne kadar süre CPU zamanı alacaklarına kendileri karar veremezler. Tüm işlemler normal şekilde davranırsa, her biri (kabaca) eşit miktarda CPU zamanı alır. Ancak, çekirdeğin işlem zamanlama algoritmasını nice değeri ile etkilemenin bir yolu vardır.

nice değeri biraz garip bir isim olsa da, aslında işlemlerin CPU için önceliklerini belirleyen bir sayıya sahip oldukları anlamına gelir. Yüksek bir sayı, işlemin nazik olduğunu ve CPU için daha düşük bir önceliğe sahip olduğunu, düşük veya negatif bir sayı ise işlemin pek nazik olmadığını ve mümkün olduğunca fazla CPU'ya sahip olmak istediğini gösterir.

Şu anda bir terminal penceresi açıp top komutunu çalıştırdığınızda, sütunlardan birinde NI (Niceness) değerini görebilirsiniz. Bu, bir işlemin naziklik seviyesidir.

Naziklik seviyesini değiştirmek için nice ve renice komutlarını kullanabilirsiniz:

  • nice komutu: Yeni bir işlem için öncelik belirlemek için kullanılır.

  • renice komutu: Çalışmakta olan bir işlemin önceliğini değiştirmek için kullanılır.

Örneğin, aşağıdaki komut apt upgrade komutunu daha düşük bir öncelikle çalıştırır:

$ nice -n 5 apt upgrade

Aşağıdaki komut ise pid'si 3245 olan processin önceliğini 10 olarak değiştirir:

$ renice 10 -p 3245

Last updated