2010-05-05 5 views
7

Estoy buscando una manera de limitar el uso de la CPU por cualquier aplicación en Windows 7 al 50%. Intenté buscar en Internet una forma de hacerlo, y parece que esto es algo fácil de hacer en Linux y Mac OS X (un comando en la terminal) pero no estoy seguro de cómo hacerlo en Windows 7. Cualquier ayuda sería muy apreciada. ¡Gracias!¿Límite de forma programada el uso de CPU por parte de cualquier aplicación en Windows 7?

Rohan

+0

Lo acerca de los procesadores multi-core? El uso del 50% de la CPU simplemente limitaría el proceso para usar no más de la mitad de los núcleos. –

Respuesta

3

Usted no puede limitar el uso de la CPU de un proceso en Windows 7 o anterior ya que este recurso es gestionado por el sistema operativo *.

Sin embargo, puede especificar que se ejecute un proceso con una cierta prioridad, p. para ejecutar por debajo de la prioridad normal. Las diversas prioridades de programación se pueden configurar mediante la función de API SetPriorityClass.

Scheduling Priorities

Lo que probablemente está tratando de evitar es que el proceso afecta el rendimiento del sistema de manera que el usuario se diera cuenta. En ese caso, establecer las prioridades apropiadas será una solución. Después de todo, ¿tienes un expensive CPU so why not use it whenever you can?

* Consulte @Ben Voigt's answer para una posible solución en Windows 8 y superior.

+0

TL; versión DR de esta respuesta: "0xA3 no conoce un camino". Tenga en cuenta que esto no es lo mismo que no * siendo * una forma. –

+1

@Ben Voigt: ¿Por qué tan arrogante? ¿Tuve un mal día? JOBOBJECT_CPU_RATE_CONTROL_INFORMATION es nuevo en * Windows 8 * (y Windows Server 2012) y la pregunta se refiere a Windows 7. Desafortunadamente, no tengo tiempo para verificar regularmente si alguna de mis publicaciones anteriores necesita una actualización porque hay una versión más nueva de producto xyz. –

+0

Gracias por señalar que la estructura particular es nueva en Windows 8. Encontré la incorrecta. La capacidad ha existido durante mucho tiempo, su respuesta sigue siendo (completamente) incorrecta. –

6

Puede usar BES. Aprieta las aplicaciones hambrientas de CPU cuando se le pregunte. Puede limitar 3 programas como máximo. Utilizo esto para ejecutar múltiples clientes de juegos en línea y funciona como un encanto para mí. Debe ejecutarlo con privilegios de administrador y en el modo compatible con Windows XP Sp3. Para ajustar estas configuraciones, haga clic derecho sobre el ejecutable y elija las opciones.

Here's the link for BES - CPU limiter.

1

Puede utilizar un excelente programa llamado "process lasso".

En lazo puede, por ejemplo, limitar un programa específico a 1 CPU y baja prioridad. Cada copia de ese programa se ejecutará con esta configuración. ¡He usado este programa para administrar la CPU en el servidor de terminales y funcionó muy bien!

+1

Supongo que se le ha bajado debido a una redacción ilegible, y no a la calidad de la información. . Espero que mi edición te ayude. ;-) Y bienvenido a SO! – Arsen7

4

Si tiene un procesador multi-core, puede hacer clic con el botón derecho en el administrador de tareas y establecer la afinidad. Esto definirá qué núcleos pueden ejecutar el proceso. Desmarque la mitad de los núcleos y el proceso usará el 50%.

O ver esto para hacer que programagically: Set affinity with start /AFFINITY command on Windows 7

3

Puede limitar el uso de la CPU de su proceso o cualquier otro proceso añadiendo el proceso de interés a un objeto de trabajo, y la colocación de los límites del objeto de trabajo.

Uno de los límites de recursos que pueden ser configuradas para objetos de trabajo es el uso de CPU:

Si usted tiene que utilizar JOBOBJECT_BASIC_LIMIT_INFORMATION, prestar especial atención a la nota:

Para registrarse para recibir notificación cuando se supera este límite, sin procesos de terminación, utilice la función SetInformationJobObject con la clase de información JobObjectNotificationLimitInformation

y luego usar JOBOBJECT_END_OF_JOB_TIME_INFORMATION su lugar, ya que está disponible pre-Windows 8.

Cuestiones relacionadas