Cerrar el servicio de Windows según la carga

Cerrar el servicio de Windows según la carga

Me preguntaba si existen soluciones gratuitas/de código abierto que inicien y detengan un servicio de Windows según la carga. Tengo algunos servicios de suscripción de pubsub que realizan un trabajo en segundo plano que no es crítico. Idealmente, me gustaría poder automatizar las cosas para que estos servicios puedan iniciarse si la E/S de memoria/CPU/disco esté por debajo de un cierto umbral y se detengan correctamente si se alcanza ese umbral. ¿Conoce alguna solución? gracias jp

Respuesta1

Hay un software integrado en Windows que hace esto llamadoAdministrador de recursos del sistema de Windows(WSRM) hará lo que usted quiera, es decir, priorizará los servicios en función de los recursos.

Obviamente no es de código abierto, pero viene con el sistema operativo.

Respuesta2

No conozco una herramienta externa, pero podría monitorear los contadores de rendimiento relevantes dentro de su servicio y no trabajar (dormir durante un período de tiempo) si los contadores de rendimiento que cree que son relevantes exceden los umbrales. Esto no sería lo mismo que detener el servicio (aún permanecería residente en la memoria), pero debería lograr el fin deseado.

Un beneficio de este enfoque es que no tiene que preocuparse por instalar y configurar una herramienta externa, ni por monitorear que la herramienta externa todavía esté funcionando.

Respuesta3

Puede configurar una alerta que pueda ejecutarse en un umbral fijo (digamos CPU>=75). Para configurar una alerta en Windows, aquí hay un enlace http://support.microsoft.com/kb/324752

Entonces podrías configurar una alerta para la condición Uso de CPU >=75% y como línea de comando podrías usar

      net stop svcName 

Esto detiene el servicio llamado svcName.

Podría tener otra alerta definida para el uso opuesto de CPU <70% y como línea de comando podría usar

      net start svcName 

cuando cae por debajo de los umbrales.

Mantuve un margen del 5% entre encendido y apagado, aunque se podría crear un archivo por lotes para retrasar el inicio y la detención del servicio con demasiada frecuencia.

Espero que esto ayude

información relacionada