¿Es posible limitar cuánta potencia de CPU puede tomar un proceso?


16

Me pregunto, ¿hay alguna forma de decirle a un proceso cuánta potencia de procesador puede tomar?

El problema es que estoy convirtiendo video con Arista (convertidor de video) y me molesta que el ventilador funcione como loco, cuando miro el monitor de tareas, ocupa más del 92% de la CPU.

¿Puedo (de alguna manera) decir que puede tomar solo el 20%?

Gracias

Respuestas:


20

Hay una herramienta cpulimit (también está presente en Debian Repo y debería estar en otras distribuciones).

Su uso es bastante simple:

cpulimit -p PID -l MAX_CPU_LEVEL

También puede usar el nombre del proceso o la ruta completa al binario. Detalles que puede encontrar en la página del manual .


1
ja-ja :), funciona perfectamente, gracias +1
equivalente8

3
El código en la URL indicada no se ha actualizado en bastante tiempo. Otro grupo lo recogió y continuó desarrollando en limitcpu.sf.net .
James Sneeringer

7

Otra forma es mediante el uso de la interfaz (relativamente) nueva del núcleo llamada cgroups (artículo de Wikipedia aquí ). Permite un control más detallado de la cantidad de CPU / memoria / io / etc. que un proceso / usuario / grupo puede consumir.


0

Si bien esto puede no ser exactamente lo que está buscando, puede usar el reniceprograma para cambiar la prioridad del programa y evitar que ralentice otras aplicaciones en el sistema. renice -n 20 -p [pid], donde [pid] se reemplaza con el ID de proceso de Arista probablemente reduciría su 'uso de recursos y definitivamente disminuiría la desaceleración del sistema.


1
El OP no se queja de que el proceso desacelere otras aplicaciones, sino de que el ventilador funcione como loco, reniceno puede hacer nada en contra de esta última. En el mejor de los casos, ralentizará el convertidor de video, pero los procesos de la competencia (si los hay) mantendrán la carga de la CPU como antes.
jlliagre
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.