¿Existen soluciones que pueden limitar el uso de CPU de un proceso?

70

Estoy usando una computadora portátil vieja y estoy haciendo un procesamiento pesado que necesita un alto uso de la CPU durante mucho tiempo (~ 30 minutos - 2 horas). Cuando el proceso pone mucha carga en la CPU durante mucho tiempo, la CPU se sobrecalienta y la computadora se apaga. No quiero usar un refrigerador / soporte porque llevo esta computadora portátil y trabajo fuera de casa.

¿Hay alguna forma / aplicación que pueda limitar el uso de CPU de un proceso en Windows?

Nota: Establecer la prioridad del proceso desde el administrador de tareas no funciona.

Nota 2: los ventiladores están limpios.

nimcap
fuente
66
¿Es posible alquilar 3 horas de tiempo de CPU en EC2? Me imagino que funcionaría mucho mejor para la mayoría de los casos.
digitxp
¿Puedes especificar qué versión de Windows y qué computadora portátil antigua? Si hay un núcleo dual en el interior, puede especificar que la aplicación se ejecute en un solo núcleo, lo que lo mantiene al 50% y, por lo tanto, a temperaturas más frías.
Joris Meys
44
@digitxp: Soy estudiante de doctorado en este momento, si fuera con fines comerciales, habría comprado una nueva computadora portátil o usado una potente máquina de escritorio de todos modos :)
nimcap

Respuestas:

64

Una búsqueda en la red trae algunos programas que pueden ayudar. Todos son gratuitos .

BES - Batalla Encoder Shirase

BES es una herramienta pequeña que limita el uso de la CPU para un proceso específico: por ejemplo, puede limitar el uso de la CPU de un proceso que usaría la CPU al 100%, hasta el 50% (o cualquier porcentaje que desee). Con esto, puede usar otros programas cómodamente mientras hace algo de CPU intensivo en segundo plano. Al limitar la carga de la CPU, también puede enfriar su CPU de inmediato cuando se calienta demasiado. Por supuesto, la velocidad de procesamiento disminuirá proporcionalmente si limita el uso de la CPU, pero debería ser mucho mejor que fallar debido al calor o (en el peor de los casos) que su computadora se rompa con una CPU quemada.

Procesador Domador

Process Tamer es una utilidad pequeña (140k) y súper eficiente para Microsoft Windows XP / 2K / NT / Vista / Win7 que se ejecuta en la bandeja del sistema y monitorea constantemente el uso de CPU de otros procesos. Cuando ve un proceso que está sobrecargando su CPU, reduce la prioridad de ese proceso temporalmente, hasta que su uso de CPU vuelva a un nivel razonable.

Lazo de proceso

Process Lasso es una nueva tecnología única que mejorará la capacidad de respuesta y la estabilidad de su PC durante los períodos de alta carga de CPU. Windows, por diseño, permite que los programas monopolicen su CPU sin restricciones, lo que provoca congelamientos, bloqueos y micro retrasos. La tecnología ProBalance (Process Balance) de Process Lasso ajusta de manera inteligente las prioridades de los programas en ejecución para que los procesos con mal comportamiento no afecten negativamente la capacidad de respuesta de su PC.

Mehper C. Palavuzlar
fuente
10
de los tres BES parece la mejor apuesta. los otros dos usan valores de prioridad que no funcionaron de acuerdo con la pregunta
RobotHumans
44
BES es mi elección. Es liviano y hace lo que se supone que debemos hacer.
nimcap
1
BES no puede limitar Windows Live Mesh (MOE.exe); continúa usando el 95% independientemente de cualquier configuración. Los otros no pueden ayudar porque ya está configurado en prioridad de inactividad. Hace que todo el sistema operativo sea muy lento de todos modos.
RomanSt
Derecha. El BES es el único que realiza un limitador% cpu. ¿Por qué está en la tercera posición? :(
erm3nda
Desde la página web de BES: "sí, BES es una herramienta que periódicamente hace que el objetivo duerma por un tiempo muy corto".
mtone
15

La solución más fácil que encontré es limitar la potencia del procesador.

  1. Ir al panel de control.
  2. Hardware y sonido
  3. Opciones de poder
  4. Editar configuración del plan
  5. Cambiar la configuración avanzada de energía
  6. Gestión de energía del procesador.
  7. Máximo estado del procesador y bájelo al 80% o lo que desee. Usando un software que mide las temperaturas de la CPU como 'Speed ​​fan', verá que las temperaturas caen.
Zeppi Ta Leli II
fuente
También puede ajustar la política de enfriamiento allí, el modo pasivo puede ayudar
CrandellWS
9

Claro que esta es una vieja pregunta, pero me sorprende que nadie haya sugerido esto todavía:

Reduce la velocidad de tu CPU.

Prácticamente todas las computadoras portátiles y Windows tienen mecanismos incorporados para ajustar dinámicamente la velocidad del procesador para que coincida con la carga. Puede anular este comportamiento; por ejemplo, en Panel de control => Opciones de energía => Avanzado, puede establecer una velocidad máxima del procesador inferior al 100%. Su procesador se limitará a una velocidad más baja y, por lo tanto, generará menos calor, independientemente de lo que esté haciendo.

Esto no requiere software adicional y, lo que es más importante, reducir la velocidad de su CPU hace que su procesador sea más eficiente , por lo que es una mejor solución que limitar el uso de su CPU en Windows. Usar el 50% de un procesador a 2.0Ghz usará considerablemente más energía que el 100% de un procesador a 1.0Ghz. Menos potencia = menos calor.

qasdfdsaq
fuente
5

Quería agregar la aplicación que he usado en el pasado para limitar con éxito la utilización de la CPU. He usado threadmaster varias veces en el pasado.

http://threadmaster.tripod.com/

John
fuente
5

En Windows 10, 8 y 7:

  1. Ir al Administrador de tareas.
  2. Haga clic con el botón derecho en el proceso para el que se limitará el uso de la CPU. Haz clic en Ir a detalles .
  3. Ahora, aparecerá la pestaña de detalles. Haga clic con el botón derecho en el proceso en particular, elija establecer afinidad y elija los núcleos que permitirá que use el proceso en particular.
sebine francis
fuente
1
En Windows 7, al hacer clic con el botón derecho en un proceso en el administrador de tareas, aparece un menú contextual y una de las opciones es "Establecer afinidad", que funciona como usted describe.
David Richerby
El proceso que deseo limitar el uso de la CPU está en gris. El Ir a detalles está atenuado.
Santosh Kumar
3

En lugar de descargar un programa para hacerlo, si va al administrador de tareas y va a los detalles, verá una lista de los procesos que está ejecutando. Si hace clic con el botón derecho y usa la opción "establecer afinidad" en lugar de "establecer prioridad", puede seleccionar cuántos núcleos está utilizando un programa individual, lo que limita la cantidad de uso de CPU por parte del programa.

DameMi Oro
fuente
La mayoría de los programas son de un solo subproceso, por lo que establecer la afinidad en 1 núcleo no lo ayudará en absoluto. (Programas de un solo subproceso sólo pueden utilizar un solo núcleo de la CPU, y no se utiliza más de un núcleo en el primer lugar.)
CausingUnderflowsEverywhere
3

Otra forma muy conveniente de establecer la afinidad de un determinado ejecutable cuando se inicia es usar el comando de inicio .

por ejemplo, "inicio / afinidad F iexplore.exe". Si hay una sola aplicación que desea iniciar de esta manera, puede crear un acceso directo con este comando. Tenga en cuenta que la afinidad se establece mediante un valor hexadecimal, que puede requerir un poco de prueba y error. ¡Comprueba el proceso en el administrador de tareas para ver el resultado de afinidad real!

Ver más aquí: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx

HPHP
fuente
2

En estos días, la mejor solución es limitar el uso de CPU por proceso limitando la afinidad de la CPU (núcleos a los que el proceso tiene acceso). Tiene menos precisión (solo puede limitarse a ciertos porcentajes), pero esta es una operación más natural que tratar de suspender y reanudar periódicamente los subprocesos del proceso. Process Lasso hace un buen trabajo con afinidades de CPU predeterminadas (persistentes). Sin embargo, también tiene una limitación de estilo BES 'difícil', aunque eso no se recomienda ya que es un acto tan antinatural.

dyasta
fuente
1

Hacer un overclocking de la CPU le permitirá alcanzar velocidades de CPU más lentas, reduciendo el calor producido. Es posible que necesite experiencia avanzada si su placa base o CPU no tiene un medio para modificar la velocidad del reloj utilizando un programa descargable. (Busque las utilidades de overclock para su CPU o placa base (solo del fabricante de su CPU y placa base), solo tenga en cuenta que le interesará el overclocking).

En el caso de que no haya utilidades disponibles, deberá ingresar al BIOS de su computadora y modificar la velocidad del reloj de su procesador. La forma más fácil es establecer el multiplicador en un número menor. No toque los voltajes porque esto puede dañar su CPU si es demasiado alto o causar errores cuando es demasiado bajo. Las frecuencias tampoco deberían modificarse, solo el multiplicador. Para volver a la configuración predeterminada, lea el manual de su BIOS para determinar la tecla que debe presionar para restaurar la configuración predeterminada. (O simplemente inspeccione la pantalla del BIOS con cuidado, especialmente la pantalla de salida).

Causando subflujos en todas partes
fuente