Batch zum Stoppen / Ausführen des Tomcat-Servers bei maximaler CPU

524
Angelika

Ich bin auf der Suche nach Betriebssystemeigenschaften, die in einem Batch-Skript unter Windows verwendet werden könnten und die Tomcat-Dienste anhalten und erneut starten, wenn die CPU-Auslastung des Tomcat-Prozesses seinen maximalen Wert erreicht:

SET USAGE_TOMCAT = tomcat_service_usage_pourcentage SET MAX_CPU= 98% of CPU  if USAGE_TOMCAT > MAX_CPU  run TOMCAT_DIR/bin/shutdown.bat run TOMCAT_DIR/bin/startup.bat 

Wie könnten USAGE_TOMCAT und MAX_CPU in diesem Fall definiert werden?

2
Es kann sich lohnen, sich die benutzerdefinierten "Data Collector Sets" anzusehen. Sie können einen in Perfmon einrichten, um einen Leistungsindikator zu überwachen, z. B. die CPU-Auslastung eines Prozesses. Einmal kann das Erstellen eines Ereignisprotokolleintrags unter "/ Protokolle für Anwendungen und Dienste / Microsoft / Windows / Diagnosis-PLA / Operational" erfolgen. Sie können dann eine geplante Aufgabe erstellen, um beispielsweise eine solche Ereignis-ID zu aktivieren und von dort aus eine Logik hinzuzufügen. Möglicherweise sehen Sie: https://technet.microsoft.com/en-us/library/cc722414(v=ws.11).aspx HelpingHand vor 7 Jahren 0
Sehen Sie sich auch Powershell an. Sie können Get-Counter verwenden, um Leistungsdaten abzurufen: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.diagnostics/get-counter HelpingHand vor 7 Jahren 0
Überprüfen Sie den Logman-Befehl. Damit können Sie Schwellenwerte erstellen, und wenn diese erreicht sind, kann eine Task ausgeführt werden. npocmaka vor 7 Jahren 0

1 Antwort auf die Frage

0
npocmaka

Logman kann Warnungen erstellen, die einige Systemparameter überwachen und eine geplante Task ausführen können. Mit Shctasks können Sie eine solche Aufgabe erstellen.

:: create task that will be executed by logman SCHTASKS /create /tn "HIGH_CPU" /tr "TOMCAT_DIR/bin/shutdown.bat" /sc ONCE /sd 01/01/1910 /st 00:00 ::Set logman threshold Logman.exe create alert high_cpu -th "\Processor(_Total)\%% Processor Time>98" -tn "HIGH_CPU"