CPUTool - Linux'ta Herhangi Bir İşlemin CPU Kullanımını Sınırlayın ve Kontrol Edin


Linux performans izleme kapsamındaki kritik alanlardan biri CPU kullanımı ve sistem yükü olmalıdır. Bir sistemde işlerin nasıl geliştiğini takip etmek için çeşitli Linux performans izleme araçları vardır.

Bu araçların bir kısmı basitçe sistem durumu/istatistiklerinin çıktısını alırken, diğer birkaçı size sistem performansını yönetme araçları sağlar. CPUTool adı verilen böyle bir araç.

CPUTool, herhangi bir işlemin CPU kullanımını belirli bir sınıra kadar sınırlamak ve kontrol etmek için basit ama güçlü bir komut satırı aracıdır ve sistem yükünün belirli bir eşiği aşması durumunda işlem yürütmenin kesintiye uğramasına olanak tanır.

CPUTool Nasıl Çalışır?

CPU kullanımını sınırlamak için cputool işlemlere SIGSTOP ve SIGCONT sinyallerini gönderir ve bu sistem yüküne göre belirlenir. PID'leri ve bunların CPU kullanım ölçümlerini okumak için /proc sözde dosya sistemini kullanır.

Tek bir işlemden veya bir işlem grubundan etkilenen CPU kullanımını veya sistem yükünü belirli bir sınırla sınırlamak ve/veya sistem yükünün bir eşiği aşması durumunda işlemleri askıya almak için kullanılabilir.

Önerilen Okuma: Linux Yük Ortalamalarını Anlayın ve Linux Performansını İzleyin

CPU Kullanımını ve Yük Ortalamasını Sınırlamak için CPUTool'u Yükleyin

CPUTool yalnızca Debian/Ubuntu ve türevlerine, paket yönetimi aracı kullanılarak varsayılan sistem depolarından kurulabilir.

sudo apt install cputool

CUPTool ile İşlem CPU Kullanımını Sınırlama

Şimdi cputool'un gerçekte nasıl çalıştığına bakalım. Hepsini göstermek için, arka planda yüksek CPU yüzdesine yol açacak ve PID'sini görüntüleyecek bir dd komutu çalıştıracağız.

dd if=/dev/zero of=/dev/null &

CPU kullanımını izlemek için, çalışan bir Linux sistem işlemlerinin gerçek zamanlı, düzenli olarak güncellenen durumunu görüntülememize olanak tanıyan üst veya bakış araçlarını kullanabiliriz:

top

Yukarıdaki çıktıdan dd komutunun en yüksek CPU süresi yüzdesine sahip olduğunu görebiliriz %99,7 Şimdi bunu aşağıda gösterildiği gibi cputool kullanarak sınırlayabiliriz.

--cpu-limit veya -c bayrağı, bir işlem veya işlem grubu için kullanım yüzdesini ayarlamak için kullanılır ve -p ise belirtmek için kullanılır bir PID'dir. Aşağıdaki komut, dd komutunu (PID 8275) bir CPU çekirdeğinin %50 kullanımıyla sınırlayacaktır:

cputool --cpu-limit 50 -p 8275 

Cputool'u çalıştırdıktan sonra işlemin yeni CPU kullanımını (PID 8275) bir kez daha kontrol edebiliriz. Artık dd işlemi için CPU kullanımı (%49,0-%52,0) aralığında olmalıdır.

top

dd'nin CPU kullanımını %20 ile daha da sınırlamak için cputool'u ikinci kez çalıştırabiliriz:

cputool --cpu-limit 20 -p 8275 

Ardından, top veya buna benzer bakış açıları gibi araçları kullanarak hemen kontrol edin (dd için CPU kullanımı artık %19,0-%22,0 aralığında veya bunun biraz üzerinde olmalıdır):

top

Kabuğun cputool çalışırken herhangi bir kullanıcı girişi beklemediğini unutmayın; bu nedenle tepkisiz hale gelir. Bunu sonlandırmak için (bu, CPU kullanım sınırlama işlemini sonlandıracaktır), Ctrl + C tuşlarına basın.

Daha da önemlisi, örneğin HTTP web sunucusu gibi bir süreç grubu (her biri farklı bir PID'ye sahip, birkaç çalışan örnek içeren bir program) belirtmek için:

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

-P bayrağını şu şekilde kullanın:

cputool --cpu-limit 20 -P 1780

CUPTool ile Sistem Yükünü Sınırlama

-l seçeneği, sürecin veya süreç grubunun çalışmaya devam etmesi için sistemin maruz kalabileceği maksimum yükü belirtmek için kullanılır. Kesirli bir değer kullanabiliriz (ör. 2,5).

Aşağıdaki örnek, yerel yedekleme için rsync'in yalnızca sistem yükünün 3,5'u aşmadığı durumlarda çalıştırılması anlamına gelir:

cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

Daha fazla bilgi ve kullanım için CPUTool kılavuz sayfasını görüntüleyin:

man cputool

CPU bilgilerini bulmak ve CPU performansını izlemek için aşağıdaki faydalı kılavuzlara göz atın:

  1. Linux'ta CPU Bilgisini Almak İçin 9 Yararlı Komut
  2. Cpustat - Linux'ta İşlemleri Çalıştırarak CPU Kullanımını İzler
  3. CoreFreq – Linux Sistemleri için Güçlü Bir CPU İzleme Aracı
  4. Linux'ta En Yüksek Bellek ve CPU Kullanımına Göre En İyi Çalışan İşlemleri Bulun

Sonuç olarak CPUTool, Linux performans yönetimi için gerçekten kullanışlıdır. Bu makale hakkındaki düşüncelerinizi aşağıdaki geri bildirim formunu kullanarak paylaşın.