Bir işlemin ne kadar CPU gücü alabileceğini sınırlamak mümkün müdür?


16

Merak ediyorum, bir sürece ne kadar işlemci gücü alabileceğini söylemenin bir yolu var mı?

Sorun şu ki, videoyu Arista (video dönüştürücü) ile dönüştürüyorum ve görev monitörüne baktığımda fanın çılgın gibi çalışmasından rahatsız oluyorum, CPU'nun% 92'sini alıyor.

Sadece bir şekilde% 20 alabileceğini söyleyebilir miyim?

Teşekkürler

Yanıtlar:


20

Orada CPULimit aracı (aynı zamanda mevcut olan Debian Repo ve diğer dağıtımlar içinde olmalıdır).

Kullanımı oldukça basit:

cpulimit -p PID -l MAX_CPU_LEVEL

İşlem adını veya ikili yolun tam yolunu da kullanabilirsiniz. Ayrıntıları kılavuz sayfasında bulabilirsiniz .


1
ha-ha :), mükemmel çalışıyor, teşekkürler +1
eşdeğer8

3
Belirtilen URL'deki kod bir süredir güncellenmedi. Başka bir grup bunu aldı ve limitcpu.sf.net adresinde geliştirmeye devam etti .
James Sneeringer

7

Başka bir yol, cgroups ( burada wikipedia makalesi ) adı verilen (nispeten) yeni çekirdek arabirimini kullanmaktır . Bir işlem / kullanıcı / grubun ne kadar cpu / bellek / io / vb.


0

Bu tam olarak aradığınız şey olmayabilir, ancak reniceprogramı sistemdeki diğer uygulamaları yavaşlatmasını önlemek için program önceliğini değiştirmek için kullanabilirsiniz . renice -n 20 -p [pid][pid] yerine Arista'nın işlem kimliğinin kullanılması, kaynak kullanımını muhtemelen düşürür ve sistemin yavaşlamasını kesinlikle azaltır.


1
OP, diğer uygulamaları yavaşlatan süreçten şikayet etmiyor, ancak deli gibi çalışan fan hakkında renice, ikincisine karşı hiçbir şey yapamıyor. En iyi ihtimalle video dönüştürücüyü yavaşlatır, ancak rakip işlemler (varsa) CPU yükünü eskisi gibi korur.
jlliagre
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.