È possibile limitare la potenza della CPU che un processo può richiedere?


16

Mi chiedo, c'è un modo per dire a un processo quanta potenza del processore può richiedere?

Il problema è che sto convertendo i video con Arista (convertitore video) e sono infastidito dalla ventola che gira come un matto, quando guardo il monitor delle attività, sta occupando il 92% della CPU.

Posso (in qualche modo) dirlo che può richiedere solo il 20%?

Grazie

Risposte:


20

Esiste lo strumento cpulimit (è presente anche nel repository debian e dovrebbe trovarsi in altre distro).

Il suo utilizzo è piuttosto semplice:

cpulimit -p PID -l MAX_CPU_LEVEL

È inoltre possibile utilizzare il nome del processo o il percorso completo del file binario. Dettagli che puoi trovare sulla pagina man .


1
ah ah ah :), funziona perfettamente, grazie +1
equivalente8

3
Il codice all'URL indicato non è stato aggiornato da un po 'di tempo. Un altro gruppo l'ha raccolto e ha continuato lo sviluppo su limitcpu.sf.net .
James Sneeringer,

7

Un altro modo è quello di utilizzare la (relativamente) nuova interfaccia del kernel chiamata cgroups (articolo di Wikipedia qui ). Permette un controllo più fine di quanta cpu / memoria / io / etc può consumare un processo / utente / gruppo.


0

Anche se questo potrebbe non essere esattamente quello che stai cercando, puoi usare il reniceprogramma per cambiare la priorità del programma per evitare che rallenti altre applicazioni sul sistema. renice -n 20 -p [pid], dove [pid] viene sostituito con l'ID del processo di Arista probabilmente ridurrebbe il suo "utilizzo delle risorse e ridurrebbe sicuramente il rallentamento del sistema.


1
L'OP non si lamenta del processo che rallenta altre applicazioni ma della ventola che gira come un matto, renicenon può fare nulla contro quest'ultima. Nella migliore delle ipotesi rallenterà il convertitore video ma i processi concorrenti (se presenti) manterranno il carico della CPU come prima.
jlliagre,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.