Confidential - do not distribute
Become A Guru
How T
- Solve A Memory Leak In Under 10 Minutes
Become A Guru How T o Solve A Memory Leak In Under 10 Minutes - - PowerPoint PPT Presentation
Become A Guru How T o Solve A Memory Leak In Under 10 Minutes Confidential - do not distribute What You Will Learn A methodology for approaching memory leaks Understanding the generational heap Understanding generational aging to
Confidential - do not distribute
2
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
3
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture in Hoi An from lwebber28 travelling in Vietnam https://www.instagram.com/p/BnbyXRVA7Jz/?taken-by=hotelsdotcom
4
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
5
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture of Juanillo Beach from Carla travelling in the Dominican Republic https://www.instagram.com/p/Bng782cAgNQ/?taken-by=hotelsdotcom
6
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
7
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
the leak
8
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture in Plaza Espana from someone travelling in Seville, Spain https://www.instagram.com/p/BkV5a1kDxRB/?taken-by=hotelsdotcom
9
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
10
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
–Old generation GCs take a long time – Young generation GCs are quick
11
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
12
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
– Before Java 9 – -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps - Xloggc:[file] -XX:+PrintReferenceGC -XX:+PrintTenuringDistribution - XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation - XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M – Java 9+ – -Xlog:gc*,gc+ref=debug,gc+age=trace,gc+heap=debug:file=gc%p%t.log: tags,uptime,time:filecount=10,filesize=10m
13
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
14
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
memory exhaustion leaks – Sorry, that’s another talk
15
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture from Michael Long travelling in Jamaica https://www.instagram.com/p/BeWLc-yFUMX/?taken-by=hotelsdotcom
16
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
17
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
18
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
19
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture from Jonny travelling in Puglia, Italy https://www.instagram.com/p/BneXJuCD2nG/?taken-by=hotelsdotcom
20
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
21
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
– Or without “live,” if you want to see dead objects that have not yet been GCed, “live,” forces a GC before the dump
– Eg from jconsole, visualvm, even programmatically
22
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
23
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
24
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture of Corona Arch from Michael travelling in Utah, USA https://www.instagram.com/p/BneXJuCD2nG/?taken-by=hotelsdotcom
25
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
assigned)?
26
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
27
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
A GC ID Age B C D A 1 B 1 C 1 D 1 GC E B 2 C 2 D 2 E 1 F GC E 2 F 1 G Y W 2 X 1 Z 1 generation (all aged 0) 2 generations (aged 0 and 1) 3 generations (aged 0, 1 and 2) 3 generations (aged 0, 1 and 2) 3 generations (aged 0, 1 and 2) GC GC
28
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
A GC ID Age B C D A 1 B 1 C 1 D 1 GC E GC GC 1 generation (all aged 0) 2 generations (aged 0 and 1) 2 generations (aged 1 and 2) 2 generations (aged 2 and 3) 2 generations (aged 98 and 99) A 2 B 2 C 2 D 2 E 1 A 3 B 3 C 3 D 3 E 2 A 99 B 99 C 99 D 99 E 98 GC
29
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
A GC ID Age A 1 B GC GC 1 generation (all aged 0) 2 generations (aged 0 and 1) 3 generations (aged 0, 1 and 2) 4 generations (aged 0,1, 2 and 3) 100 generations (aged 0 to 99) A 2 B 1 C A 3 B 2 C 1 D A 99 B 98 C 97 D 96 E 95 GC GC F 94 Y 1 Z
30
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
31
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com
– Suitable for production – GC logs remain after JVM terminates
– Suitable for production – views GC logs
–Suitable for production: but freezes JVM so only when necessary – log remains
– Suitable for production – views Heap Dumps
– NOT Suitable for production – needs a live JVM and can crash it (all too often)
32
#hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com Picture from Alessia travelling in Naples, Italy https://www.instagram.com/p/BkS_yvDlbxd/?taken-by=hotelsdotcom
Engineering Team at Hotels.com
– Part of Expedia Group, handling over $100billion in bookings annually – World’s largest travel agency
(O'Reilly)
Performance Tuning & a monthly newsletter for 15 years & around 10 000 tuning tips
33 #hcomtechnology -- presenter: Jack Shirazi -- slides: fasterj.com/jaxlondon2018.zip -- hotels.com -- expedia.com