Чи можна обмежити, скільки потужність процесора може зайняти процес?


16

Мені цікаво, чи є спосіб сказати процесу, яка потужність процесора може зайняти?

Проблема полягає в тому, що я перетворюю відео з Arista (відео конвертер) і мене дратує вентилятор, який працює як божевільний, коли я дивлюся на монітор завдань, він займає понад 92% процесора.

Чи можу я (якось) сказати, що це може зайняти всього 20%?

Спасибі

Відповіді:


20

Є інструмент cpulimit (також присутній у debian repo і повинен бути в інших дистрибутивах).

Це використання досить просте:

cpulimit -p PID -l MAX_CPU_LEVEL

Ви також можете використовувати ім'я процесу або повний шлях до двійкового. Деталі ви можете знайти на сторінці чоловіка .


1
ха-ха :), працює чудово, спасибі +1
еквівалент8

3
Код за вказаною URL-адресою не оновлювався протягом досить тривалого часу. Інша група взяла його і продовжила розвиток на limitcpu.sf.net .
Джеймс Снерінгер

7

Інший спосіб - за допомогою (відносно) нового інтерфейсу ядра під назвою cgroups ( тут розміщена стаття wikipedia ). Це дозволяє більш тонко контролювати кількість процесора / пам'яті / io / тощо, який дозволено спожити процесу / користувачеві / групі.


0

Хоча це може бути не саме те, що ви шукаєте, ви можете скористатися reniceпрограмою, щоб змінити пріоритет програми, щоб запобігти уповільненню інших програм у системі. renice -n 20 -p [pid], де [pid] замінено ідентифікатором процесу Arista, ймовірно, знизить його "використання ресурсів, і, безумовно, зменшить уповільнення роботи системи.


1
ОП не скаржиться на те, що процес уповільнення інших додатків, але про те, що вентилятор працює як божевільний, reniceне може нічого проти цього зробити. У кращому випадку це сповільнить відеоконвертер, але конкуруючі процеси (якщо такі є) підтримуватимуть завантаження процесора, як і раніше.
jlliagre
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.