Slide 1

Slide 1 text

Garbage Collection Probleme Einfach Lösen Fabian Lange, codecentric AG

Slide 2

Slide 2 text

Garbage Collection ist immer Schuld

Slide 3

Slide 3 text

Stop The World

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Random result from Stackoverflow

Slide 6

Slide 6 text

Unbekannte Lösung für ein unbekanntes Problem

Slide 7

Slide 7 text

Problem verstehen

Slide 8

Slide 8 text

-Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

Slide 9

Slide 9 text

Problem verstehen Änderung vornehmen Effekt überprüfen

Slide 10

Slide 10 text

1. Richtigen Collector wählen Parallel, Concurrent, G1

Slide 11

Slide 11 text

2. Bereichsgrößen anpassen Max Heap, New Size, Perm

Slide 12

Slide 12 text

3. Schwellwerte justieren Tenuring, Füllstände

Slide 13

Slide 13 text

IBM - Support Assistant GC Visualizer

Slide 14

Slide 14 text

Tuning ist selten effektiv und nicht dauerhaft

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Woraus besteht der Müll?

Slide 17

Slide 17 text

Eclipse Memory Analyzer Toolkit

Slide 18

Slide 18 text

ejTechnologies - JProfiler

Slide 19

Slide 19 text

Allocation Tracker

Slide 20

Slide 20 text

Allocation Tracker ∠ Hohe Performanz ∠ Wenig Code ∠ Java8 LongAdder ∠ Einfach ∠ -javaagent:/path/to/allocation-tracker.jar=com.vaadin ∠ Zeichnet alle Allokationen auf ∠ Gratis :-)

Slide 21

Slide 21 text

Allocation Tracker github.com/codecentric/allocation-tracker blog.codecentric.de/en/2014/07/fixing-garbage- collection-issues-easily/ Kontakt @CodingFabian [email protected]

Slide 22

Slide 22 text

www.codecentric.de/karriere

Slide 23

Slide 23 text

www.codecentric.de/softwerker