MemHawk v1.0.0
MemHawk v1.0.0 - Initial Public Release
✨ Key Features in This Release
This initial release is stable and packed with features to help you hunt down memory leaks and optimize your application's performance:
- 🚀 Blazing-Fast Profiling: A thread-local, minimal-locking architecture ensures the lowest possible overhead, especially in highly concurrent applications.
- 🎯 100% Accurate Tracking: Every call to
malloc,free,new, anddeleteis intercepted and tracked. No sampling means no missed events. - 💡 Smart Stack Trace Aggregation: Instead of generating terabytes of logs, MemHawk groups allocations by their unique stack trace, giving you clear, actionable summaries.
- 🔧 Flexible Unwinding: Full support for stack unwinding using both DWARF debug information and faster frame pointers (
-fno-omit-frame-pointer). - 📦 Zero-Dependency & Portable: MemHawk is delivered as a single, statically-linked library. Just copy it to any x86_64 Linux machine and it works—no
apt-getoryumrequired. - 📝 Clear & Actionable Reports: Generates human-readable text logs that pinpoint the exact traces consuming the most memory (
ByActiveSize) and those causing the most allocations (ByTotalCount).
Assets
libmemhawk.so: Statically-linked shared library for x86_64 Linux (glibc 2.30+). Ready to use withLD_PRELOAD.Source code (zip): The source code for this release.Source code (tar.gz): The source code for this release.
🚀 Quick Start with the Binary
Get started in seconds with the pre-compiled library:
- Download
libmemhawk.sofrom the assets below. - Run your application using
LD_PRELOAD:LD_PRELOAD=./libmemhawk.so ./your_application
- After your application exits, inspect the generated
memhawk_..._summary.logandmemhawk_..._stacktraces.logfiles in the current directory.
Documentation
For detailed instructions on building from source, advanced configuration via MEMHAWK_OPTS, and CMake integration, please see main README.md.
What's Next?
- GUI Viewer: A graphical interface to visualize memory usage and navigate profiling dumps, potentially compatible with the heaptrack format.
- On-Demand Dumps: The ability to trigger a memory report on-demand by sending a signal (e.g.,
SIGUSR1) to the running process. - Log Rotation: Automatic rotation of log files for long-running applications.
Full Changelog: https://github.com/IlRomanenko/MemHawk/commits/v1.0.0