I built my own memory profiler (in Rust, on Linux)
fasterthanlime fasterthanlime
49.5K subscribers
58,461 views
0

 Published On Premiered Mar 22, 2023

To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime
The first 200 of you will get 20% off Brilliant’s annual premium subscription.

This video was sponsored by Brilliant.

Follow me on Mastodon: https://hachyderm.io/@fasterthanlime
Support me on Patreon or GitHub: https://fasterthanli.me/donate
Source code for the memory visualizer: https://github.com/fasterthanlime/mevi
"The Linux Memory Manager" book (Lorenzo Stoakes): https://linuxmemory.org/
(Reference continue below)

Contents

00:00 Intro
01:09 Memory fragmentation explained with cars
02:26 Virtual memory 101
06:10 Observing simple programs with mevi
10:30 Sponsored segment (real)
11:33 Why does this Rust program leak memory, visualized
13:30 mevi is Rust on the front & back
15:40 userfaultfd: the reason why mevi works (slowly)
18:13 The hard bits
21:06 Some bigger programs seen through mevi
22:15 Y'all are so good to me

More references

The Quest for Netflix on Asahi Linux (David Buchanan): https://www.da.vidbuchanan.co.uk/blog...
Making our own executable packer: https://fasterthanli.me/series/making...
Swiss Tables Design Notes (Abseil): https://abseil.io/about/design/swisst...
SwissTable CppCon talk (Matt Kulukundis):    • CppCon 2017: Matt Kulukundis “Designi...  
Live migration: https://en.wikipedia.org/wiki/Live_mi...
Chromium’s Zygote process: https://chromium.googlesource.com/chr...
bytehound memory profiler: https://github.com/koute/bytehound

show more

Share/Embed