~/talk

Pinpointing memory leaks in production Haskell deployments

Talkat Functional Conf 2025 · 2025-01-24..01-25· [haskell]
links:none on file
name:Harendra
links:none on file
slides:none on file

GHC RTS patch adds a lightweight profiling mode that tags every closure with a GCI per-closure tagging ID, dumps HP snapshots to a file, and reports exact block and heap accounting (GC ID, mega/4K block counts, 4K block utilization and live-bytes percentage). It identifies pinned 4K fragmentation caused by small pinned allocations, surfaces long-lived closures (example: allocated at GC 50 and still live at GC 99), and runs with minimal allocation overhead (only a couple of extra stores).

AI-written summary · about

  1. 0:00Memory leak debugging in Haskell
  2. 1:08Memory usage increase in production
  3. 2:15Haskell memory leaks and fragmentation
  4. 7:59Limitations of Haskell profiling tools
  5. 11:09Lightweight profiling patch
  6. 13:19Analyzing memory snapshots
  7. 27:14Live memory and fragmentation data
  8. 28:21Heap tree inspection for leaks
  9. 35:12Filtering heap dumps
  10. 37:18Future GHC improvements
  11. 39:05Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.