Garbage Collection Log erstellen und auswerten

In regelmäßigen Abstand führen Java-Applikationen eine sogenannte Garbage Collection durch. Dabei werden Objekte welche nicht mehr benötigt werden entfernt und somit der Speicher der Anwendung bereinigt. Die Ausführung der Garbage Collection kann während der Ausführung der Applikation mitgeloggt werden:

java -Xloggc:garbage.log -jar application.jar

Der Parameter -Xloggc spezifiziert die Datei in welche das Log geschrieben wird. Mit Hilfe dieses Logs können Probleme der Applikationen analysiert werden. Ein Beispiel für ein solches Log könnte z.B. so aussehen:

Java HotSpot(TM) 64-Bit Server VM (25.144-b01) for bsd-amd64 JRE (1.8.0_144-b01), built on Jul 21 2017 22:07:42 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Memory: 4k page, physical 8388608k(122952k free)

/proc/meminfo:

CommandLine flags: -XX:InitialHeapSize=134217728 -XX:MaxHeapSize=2147483648 -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
4,347: [GC (Allocation Failure)  33280K->8385K(125952K), 0,0125825 secs]
4,475: [GC (Metadata GC Threshold)  12196K->8961K(125952K), 0,0061766 secs]
4,481: [Full GC (Metadata GC Threshold)  8961K->6026K(87552K), 0,0206784 secs]
16,232: [GC (Allocation Failure)  39306K->15981K(87552K), 0,0095999 secs]

Zur Auswertung kann, neben vielen anderen Tools, der Webdienst GCeasy, welcher sich selbst als Universal GC Log Analyzer bezeichnet, genutzt werden.

Die Analyse des Garbage Collection Logs

Mit Hilfe der Auswertung können eventuelle Probleme im Zusammenhang mit der Garbage Collection besser eingegrenzt und analysiert werden. Zu finden ist der Dienst unter gceasy.io.

Backups von iOS-Geräten unter iTunes löschen

Mittels iTunes ist es möglich Backups von iOS-Geräten zu erstellen. Dies ist unter anderem dann praktisch wenn die Daten von einem iPhone auf ein anderes iPhone übertragen werden sollen. Bei mir ist dies der häufigste Anwendungsfall für iTunes-Backups von iOS-Geräten. Nach dem erfolgreichen Transfer kann das erstellte Backup wieder entfernt werden.

Die Übersicht der Backups unter iTunes

Dies kann ebenfalls mittels iTunes bewerkstelligt werden. Dazu müssen die Einstellungen innerhalb iTunes aufgerufen werden. Dort muss anschließend der Tab Geräte ausgewählt werden. Unter diesem Tab sind die erstellten Backups aufgeführt. Sie können dort ausgewählt und anschließend gelöscht werden.

Ubuntu ohne Splash Screen starten

Beim Start einer Ubuntu-Installationen wird ein Splash Screen angezeigt. Möchte man stattdessen dauerhaft die Statusmeldungen beim Hochfahren sehen, so kann dies über die GRUB-Konfiguration geändert werden. Dazu muss die Default-Konfigurationsdatei von GRUB im Editor geöffnet werden:

sudo nano /etc/default/grub

Dort muss die Zeile:

GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"

zu:

GRUB_CMDLINE_LINUX_DEFAULT="text"

geändert werden. Nachdem die Änderung der Konfiguration gespeichert wurde, muss GRUB bzw. die Konfiguration desselben aktualisiert werden. Dies geschieht mittels:

sudo update-grub

Anschließend kann der Rechner neugestartet werden. Statt des Splash Screen werden nun die Statusmeldungen beim Start angezeigt.

Crash-Logs unter iOS auslesen

Wenn eine App unter iOS abstürzt, so hinterlegt sie meist ein Crash-Log auf dem Gerät. Diesen können anschließend über die Einstellungen eingesehen und weitergeleitet werden.

Die Liste der Crash-Logs

Zu finden sind die Crash-Logs in den Einstellungen unter dem Punkt Datenschutz. Dort wählt man unten den Punkt Analyse und anschließend den Punkt Analysedaten aus. In der sich öffnenden Ansicht findet man alle Crash-Logs, welche auf dem Gerät hinterlegt sind. Dort können die Logs betrachtet und weitergeleitet werden.

Logs eines iOS-Gerätes unter macOS auswerten

Wenn eine App unter iOS nicht das macht was sie soll, oder man sich für die Innereien der App interessiert, kann man in Kombination mit einem Mac die Logmeldungen des iOS-Gerätes einsehen. Dazu muss das iOS-Gerät an den Mac angeschlossen werden und anschließend die App Konsole gestartet werden.

Die macOS App Konsole

In dieser App taucht in der Seitenleiste neben dem eigenen Rechner das iOS-Gerät auf. Anschließend sieht man im Logfenster die entsprechenden Logeinträge eingehen. Über das Suchfeld, rechts oben, können diese Einträge anschließend gefiltert werden.