2016-06-22 26 views
0

Unsere Unternehmensanwendung in Jboss wildfly 8.2 implementiert. Das jboss-Konsolenprotokoll wird während des Starts mit einer Umgebungsvariablen - JBOSS_CONSOLE - festgelegt. Dies stellt sicher, dass alle mit kill -QUIT ausgelösten Thread-Dumps an jboss_console.log ausgegeben werden. Die GC-Statistiken (gesammelt mit -XX: + PrintGCTimeStamps -XX: + PrintGCDetails) werden ebenfalls an diese Datei gesendet.Kann die Protokollgröße der jboss-Konsole die Leistung des Standorts beeinflussen

Die Rotation der Protokolldatei von

cat/dev/null> jboss_console.log

Selbst getan wird, obwohl dies die Dateigröße nach unten bringt, auf einen Thread-Dump Auslösen der Dateigröße erhöht sich mit, zu (Größe der Datei vor der Drehung + Größe des neuen Thread-Dumps). Daher wird die Dateigröße nicht verringert, es sei denn, wir starten den Jboss neu und entfernen die Datei explizit.

Auch gibt es eine klare Diskrepanz in der Ausgabe von du & ls Befehle.

[root @ Myserver logs] # du -CSH jboss_console.log

28M jboss_console.log

28M Gesamt

[root @ Myserver logs] # ls -lrtS jboss_console .log -h

-rwxr-xr-x. 1 admin admin 1.7G Jun 22 05:28 jboss_console.log

Das Problem ist, dass nach einem Monat jboss Neustart, die Dateisystem-Operationen auf ein Zehntel verlangsamen. I.e. Wenn ich eine einfache statische Textdatei der Größe 1 GB in meinem Apache gehostet hätte, wäre das Herunterladen in meine lokale Box in etwa 3 Minuten erledigt. Aber nach einem Monat dauert die gleiche Operation 30 Minuten. Beim Neustart des Jboss wird das Problem sofort behoben. Es gibt keine signifikante CPU-, Speicher- oder IO-Spitze im System.

Wird dies durch die Größe jboss_console.log verursacht?

Antwort

0

Ich nehme an, hier wird die jboss_console.log durch Piping der stdout und stderr Streams des Prozesses erstellt. Wenn dies der Fall ist, ist das Problem wahrscheinlich auf Betriebssystemebene.

Standardmäßig protokolliert der Handler CONSOLE nur System.out. Wenn die Größe des Protokolls ein Problem darstellt, können Sie einfach den Handler CONSOLE entfernen oder deaktivieren, da server.log dieselben Informationen enthält.

Um den Handler CONSOLE aus dem Root-Logger zu entfernen, können Sie den folgenden CLI-Befehl verwenden.

/subsystem=logging/root-logger=ROOT:remove-handler(name=CONSOLE) 

Ich bin nicht sicher, ob dies wirklich Ihre Frage zu beantworten, aber es ist eine Option, um die Größe der jboss_console.log ein wenig nach unten zu halten.