finds.dev← search

// the find

koute/bytehound

★ 4,788 · C · NOASSERTION · updated Jul 2023

A memory profiler for Linux.

Bytehound is a Linux memory profiler that works via LD_PRELOAD, capturing every allocation and deallocation with full stack traces. It targets Rust and C/C++ developers who need to hunt memory leaks or fragmentation in production-like workloads. The custom stack unwinder is the main differentiator — it's meaningfully faster than tools built on libunwind.

Custom stack unwinding implementation avoids libunwind overhead, making continuous profiling over long sessions feasible rather than just spot-checks. The embedded Rhai scripting DSL lets you write programmatic analysis queries against allocation data — useful when the GUI's built-in filters aren't enough. Remote streaming mode is a practical feature: you can profile a memory-constrained embedded or container environment without writing a multi-GB data file locally. Heaptrack export means you're not locked into the built-in GUI; you can drop into KDE's mature analysis UI if you prefer it.

Last commit was July 2023 — nearly three years of staleness on a tool that depends on Linux kernel internals and Rust nightly. Requires Rust nightly (specifically 1.62+), which is a real maintenance burden and a red flag for anyone who needs a stable toolchain. MIPS64 support requires an out-of-tree kernel patch, which is dead on arrival for most people who'd want it. jemalloc support is AMD64-only, so if you're on ARM and using jemalloc, you're out of luck.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →