Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Memory Chronicles: Manage, Trace and Fix Memory Leaks
Giovanny Gongora
December 12, 2019
Technology
0
15
Memory Chronicles: Manage, Trace and Fix Memory Leaks
Talk at Node+JS Interactive 2019
Giovanny Gongora
December 12, 2019
Tweet
Share
More Decks by Giovanny Gongora
See All by Giovanny Gongora
gioyik
0
8
gioyik
0
13
gioyik
1
19
gioyik
1
420
gioyik
0
110
gioyik
1
49
gioyik
0
420
gioyik
0
110
gioyik
0
100
Other Decks in Technology
See All in Technology
twada
PRO
6
1.9k
whitefox_73
0
180
mokocm
0
1k
karamem0
1
690
ocise
1
1.8k
fuzzy31u
0
920
norioikedo
0
210
eayedi
1
120
imdigitallab
0
110
yamamuteki
2
500
picardparis
4
2.3k
1027kg
0
160
Featured
See All Featured
lara
15
2.7k
paulrobertlloyd
71
3.6k
bkeepers
52
4.2k
hursman
107
9.2k
brianwarren
83
4.7k
bkeepers
408
58k
maltzj
501
36k
samlambert
237
10k
denniskardys
220
120k
cromwellryan
103
6.1k
stephaniewalter
260
11k
dougneiner
119
7.9k
Transcript
Memory Chronicles: Manage, Trace and Fix Memory Leaks Giovanny Gongora
@Gioyik
Giovanny gio@nodesource.com @gioyik
© 2019 NodeSourc e What is this really?
© 2019 NodeSourc e See you at 2pm!
Who had a memory issue with a Node.js application before?
It happens in real life, happens in TNT
Heap profiler & Timeline
When to use them?
Workflow for diagnosing memory leaks?
TST
Three Snapshot Technique
What do the Shallow and Retained Size columns represent?
Where should I start digging into to discover if I
have a leak?
Redacted snapshots
Core Dumps
Create a Core dump
--abort-on-uncaught-exception
LLDB
Llnode
Caveats
llnode’s coupling to V8
Promises (?)
Async / Await FTW!
Tips for different situations
Case #1: Server Side Rendering (SSR)
Case #2: Monitoring tools
Case #3 Close your connections
Case #4: Look for agnostic serve pages solution
Case #5: Review you <THIS-to-THIS> packages
Case #6: Keep naming you functions
Case #6: Check how reliable are your 3rd services
Crazy … right?
Thank you!