2 votes

Arrêtez le service Windows en fonction de la charge

Je me demandais s'il existe des solutions gratuites / open source qui démarreront et arrêteront un service Windows en fonction de la charge ? J'ai des services abonnés Pub/Sub qui effectuent un travail en arrière-plan qui n'est pas critique. Idéalement, j'aimerais pouvoir automatiser les choses de sorte que ces services pourraient démarrer si la mémoire / CPU / E/S disque était en dessous d'un certain seuil et s'arrêter en douceur si ce seuil était atteint. Connaissez-vous des solutions ? Merci JP

1voto

nOw2 Points 276

Il existe un logiciel intégré à Windows appelé Gestionnaire de ressources système Windows (WSRM) qui fera ce que vous voulez, c'est-à-dire, donner la priorité aux services en fonction des ressources.

Évidemment, ce n'est pas open source, mais il est inclus dans le système d'exploitation.

0voto

Fred Points 4213

Je ne suis pas au courant d'un outil externe, mais vous pourriez surveiller les compteurs de performance pertinents à l'intérieur de votre service et ne pas effectuer de travail (attendre pendant un certain temps) si les compteurs de performance que vous pensez être pertinents dépassent les seuils. Cela ne serait pas tout à fait la même chose que d'arrêter le service (il resterait toujours en mémoire), mais devrait atteindre le résultat souhaité.

Un avantage de cette approche est que vous n'avez pas à vous soucier de la configuration et de la mise en place d'un outil externe, ou de surveiller si l'outil externe fonctionne toujours.

0voto

ggonsalv Points 390

Vous pouvez configurer une alerte qui pourrait s'exécuter sur un seuil fixe (disons CPU >= 75) Pour configurer une alerte sur Windows, voici un lien http://support.microsoft.com/kb/324752

Donc, vous pourriez configurer une alerte pour la condition Utilisation du CPU >= 75 % et en tant que ligne de commande, vous pourriez utiliser

 net stop nomDuService 

Cela arrête le service appelé nomDuService.

Vous pourriez définir une autre alerte pour l'inverse de l'Utilisation du CPU < 70 % et en tant que ligne de commande, vous pourriez utiliser

 net start nomDuService 

quand il tombe en dessous des seuils.

J'ai laissé une marge de 5% entre l'activation et la désactivation, même si vous pourriez créer un fichier batch pour retarder le démarrage et l'arrêt du service trop souvent.

J'espère que cela vous aidera

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X