I built my own memory profiler (in Rust, on Linux)

I built my own memory profiler (in Rust, on Linux)

65.960 Lượt nghe
I built my own memory profiler (in Rust, on Linux)
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/netflix-on-asahi.html Making our own executable packer: https://fasterthanli.me/series/making-our-own-executable-packer Swiss Tables Design Notes (Abseil): https://abseil.io/about/design/swisstables SwissTable CppCon talk (Matt Kulukundis): https://www.youtube.com/watch?v=ncHmEUmJZf4 Live migration: https://en.wikipedia.org/wiki/Live_migration Chromium’s Zygote process: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux/zygote.md bytehound memory profiler: https://github.com/koute/bytehound