Ich habe ein Programm erstellt, das aus dem mit Java überladenen Prozess nach der Zielklasse sucht

Einführung

Ich habe diesen Artikel ausprobiert, um die Belastung meiner Anwendung herauszufinden Das Programm unter Last wurde gefunden.

https://qiita.com/tnakagawa/items/4d7d891af4913e2b5865

Da es jedoch schwierig ist, jedes Mal Befehle einzugeben, habe ich es dem Programm ermöglicht, automatisch Befehle auszugeben. Es ist auf Github veröffentlicht, also hoffe ich, dass es jemandem hilft. Ich habe es schnell geschafft, also bitte verstehe, dass es vorerst voller Gefühle ist ...

https://github.com/ewai/check-java-process

Betrieb bestätigte Umgebung

CentOS 6.7 java8

Ausführungsmethode

Lauf

Führen Sie im Zielsystem Folgendes aus. Ein Protokollverzeichnis wird im Verzeichnis direkt unter der Ausführung erstellt und das Protokoll wird dort ausgegeben. Ich denke, es ist notwendig, mit den gleichen Berechtigungen wie die Anwendung auszuführen.


java -jar check-java-process.jar 50 30 packageName

https://github.com/ewai/check-java-process/tree/master/build/libs Sie können das Glas verwenden, das hier platziert ist Sie können es als Gradle-Projekt in Eclipse importieren und optimieren.

Parameter

# Wert einstellen default Nachlaufen
1 CPU(%) 50 Suchen Sie nach Prozessen, die diesen eingestellten Wert überschreiten
2 Verarbeitungszeit(Sekunden) 10 Suchen Sie nach Prozessen, die diesen eingestellten Wert überschreiten
3 keyword Keiner Es werden nur Prozesse protokolliert, die dieses Schlüsselwort in stacktrace haben

Was Sie im Programm tun

  1. Finden Sie den Java-Prozess
  2. Holen Sie sich einen Thread-Dump von 1
  3. Finden Sie den untergeordneten Prozess von 1
  4. Passen Sie 2 und 3 an und geben Sie für jeden untergeordneten Prozess eine Stapelverfolgung aus.
  5. Nur Prozesse, die den Parameterschwellenwert überschreiten.
  6. Nur Prozesse, die Parameterschlüsselwörter enthalten.
  7. Ausgabe in das Protokoll.

das ist alles.

Recommended Posts

Ich habe ein Programm erstellt, das aus dem mit Java überladenen Prozess nach der Zielklasse sucht
Wie gehe ich mit dem Typ um, den ich 2 Jahre lang über das Schreiben eines Java-Programms nachgedacht habe?
[Java] Ich habe versucht, ein Janken-Spiel zu erstellen, das Anfänger auf der Konsole ausführen können
[Java] Ich habe versucht, mit der Grabmethode ein Labyrinth zu erstellen ♪
Ich habe versucht, eine Webanwendung zu erstellen, die Tweets mit einer Vue-Word-Cloud durchsucht und die Tendenz untersucht, was im zugehörigen Profil geschrieben steht
Ich habe versucht, eine Web-API zu erstellen, die mit Quarkus eine Verbindung zur Datenbank herstellt
[Einführung in Java] Ich habe versucht, das Wissen zusammenzufassen, das ich für wesentlich halte
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ein Programm, das nach einer Zeichenfolge sucht und die Suchzeichenfolge gefunden hat, zeigt die Zeichenfolge vom Zeilenanfang bis kurz vor der Suchzeichenfolge an.
Ich habe versucht, den Block mit Java zu brechen (1)
Eine Geschichte, die ich mit der Stream-API von Java8 einem Prozess schreiben wollte, der einer while-Anweisung entspricht
[JDBC] Ich habe versucht, den SQLite3-Datenbankzugriff von Java in eine Methode für jede SQL-Anweisung umzuwandeln.
Ich habe versucht, automatisch eine Klasse zu generieren, um sie mit APT von einer Datenklasse in ein Bundle zu konvertieren
[Kleine Geschichte] Ich habe versucht, die Java-ArrayList etwas komfortabler zu gestalten
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
[Azure] Ich habe versucht, eine kostenlose Java-App zu erstellen ~ Mit FTP verbinden ~ [Anfänger]
Ich habe versucht, ein Tool zum Vergleichen von Amazon-Produktpreisen auf der ganzen Welt mit Java, der Amazon Product Advertising API und der Currency API (29.01.2017) zu erstellen.
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Ich habe versucht, eine Java EE-Anwendung mit OpenShift zu modernisieren.
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.
Ich habe einen RESAS-API-Client in Java erstellt
Ich möchte mit Java8 StreamAPI redu () einen anderen Typ als das Eingabeelement zurückgeben.
Ich habe versucht, ein Programm in Java zu erstellen, das das Problem des Handlungsreisenden mit einem genetischen Algorithmus löst
Ich habe versucht, mit Java zu interagieren
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
Ich habe versucht, eine Android-Anwendung mit MVC zu erstellen (Java)
Ich habe versucht, eine C-Sprachprogrammquelle aus cURL zu generieren
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
Ich habe versucht, mit Rails eine Gruppenfunktion (Bulletin Board) zu erstellen
Ich habe versucht, die Ergebnisse vor und nach der Date-Klasse mit einer geraden Zahl auszudrücken
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
Ich habe versucht, Java mit einer Reihe zu lernen, die Anfänger klar verstehen können
[WSL] Lösung für das Phänomen, dass 404 angezeigt wird, wenn versucht wird, Java mit apt einzufügen (persönliches Memo)
[iOS] Ich habe versucht, mit Swift eine insta-ähnliche Verarbeitungsanwendung zu erstellen
[Erstes Java] Machen Sie etwas, das vorerst mit Intellij funktioniert
Ein Programm, das die Leistung von 2 bis 100 berechnet
Wenn Sie sshpass von Java mit Shell usw. aufrufen, scheint es notwendig zu sein, einen Pfad zu haben.
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ab Java9 werden Klassenkonstruktoren, die primitiven Typen entsprechen, als veraltet markiert.
Ich habe eine Klasse erstellt, die JUMAN und KNP aus Java verwenden kann
Ich habe versucht, ein Beispielprogramm mit dem Problem des Datenbankspezialisten für domänengesteuertes Design zu erstellen
Eine Geschichte über das Ausführen eines Programms, das Dateien in Java aus einer Bat-Datei kopiert, um die tägliche Arbeit ein wenig effizienter zu gestalten
Eine Geschichte, die unter einem Raum litt, der nicht verschwindet, selbst wenn er mit Java beschnitten ist
Ich habe versucht, mit der Java Stream-API eine Methode zu erstellen, die mehrere Filter gleichzeitig anwendet. Ist das in Ordnung?
[Java] Ich habe JDBC installiert und versucht, eine Verbindung mit Servlet + MySQL herzustellen. (Es gibt eine Version mit DAO / Bean)
Eine Notiz, die ich aufgegeben habe, um eine benutzerdefinierte Anmerkung für Lombok zu erstellen
Ich habe eine App für maschinelles Lernen mit Dash (+ Docker) Teil 3 ~ Übung ~ erstellt
Initialisieren Sie das Ruby-Array mit 0 für Java, dh setzen Sie den Standardwert auf 0
Ich habe versucht, mit Javafx ein einfaches Spiel zu machen ① "Lass uns Glücksspiel finden" (unvollendet)
[Java] Ich habe versucht, über den Verbindungspool eine Verbindung mit Servlet (Tomcat) & MySQL & Java herzustellen
Bis Sie ein Java-Programm mit dem für Windows lokalen AWS SDK ausführen
[Android] Ich habe mit ListView + Bottom Sheet einen Materiallistenbildschirm erstellt
[Azure] Ich habe versucht, eine Java-App für die Erstellung von kostenlosen Web-Apps zu erstellen. [Anfänger]
Ich suchte nach einem leichten Framework, das das plötzliche "schnell machen" beantworten würde.
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Java Ich habe versucht, einen einfachen Block zu brechen
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen