[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6588":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":34,"discoverSource":35},6588,"bytehound","koute\u002Fbytehound","koute","A memory profiler for Linux.","",null,"C",4788,202,60,43,0,2,4,10,6,65.92,"Other",false,"master",true,[27,28,29,30],"memory-profiler","memory-profiling","profiler","profiling","2026-06-12 04:00:29","# Bytehound - a memory profiler for Linux\n\n## Features\n\n   * Can be used to analyze memory leaks, see where exactly the memory is being\n     consumed, identify temporary allocations and investigate excessive memory fragmentation\n   * Gathers every allocation and deallocation, along with full stack traces\n   * Can dynamically cull temporary allocations allowing you to profile over a long\n     period of time\n   * Uses a custom, tailor-made stack unwinding implementation which makes it\n     a lot cheaper than other similar tools, potentially up to orders of magnitude\n     faster in some cases\n   * Can export the data it gathered into various different formats; it can\n     export the data as JSON (so you can analyze it yourself if you want), as\n     Heaptrack (so you can use the excellent [Heaptrack GUI] for analysis)\n     and as a flamegraph\n   * Has its own Web-based GUI which can be used for analysis\n   * Can dynamically stream the profiling data to another machine instead\n     of saving it locally, which is useful for profiling on memory-constrained systems\n   * Supports AMD64, ARM, AArch64 and MIPS64 architectures (where MIPS64 requires a tiny out-of-tree kernel patch for `perf_event_open`)\n   * Supports profiling of applications which use jemalloc as their allocator (only works on AMD64 with the `jemallocator` crate)\n   * Supports an embedded DSL based on [Rhai](https:\u002F\u002Frhai.rs) to allow for programmatic\n     and\u002For automated data analysis\n\n[Heaptrack GUI]: https:\u002F\u002Fgithub.com\u002FKDE\u002Fheaptrack\n\n## Screenshots\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"screenshot_gui_memory_usage_graph.png\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"screenshot_gui_group_by_backtrace.png\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"screenshot_gui_scripting_console.png\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"screenshot_graph.png\">\n\u003C\u002Fp>\n\n## Building\n\n1. Install GCC, Rust nightly (**only 1.62 or newer is supported**) and the Yarn package manager (for building the GUI)\n2. Build it:\n\n        $ cargo build --release -p bytehound-preload\n        $ cargo build --release -p bytehound-cli\n\n3. Grab the binaries from `target\u002Frelease\u002Flibbytehound.so` and `target\u002Frelease\u002Fbytehound`\n\n## Usage\n\n### Basic usage\n\n    $ export MEMORY_PROFILER_LOG=warn\n    $ LD_PRELOAD=.\u002Flibbytehound.so .\u002Fyour_application\n    $ .\u002Fbytehound server memory-profiling_*.dat\n\nThen open your Web browser and point it at `http:\u002F\u002Flocalhost:8080` to access the GUI.\n\n## Documentation\n\nYou can find the full documentation for the profiler in our [Memory profiling for fun and profit](https:\u002F\u002Fkoute.github.io\u002Fbytehound\u002F) book.\n\n## Enabling full debug logs\n\nBy default the profiler is compiled with most of its debug logs disabled for performance reasons.\nTo reenable them be sure to recompile it with the `debug-logs` feature, e.g. like this:\n\n    $ cd preload\n    $ cargo build --release --features debug-logs\n\n## License\n\nLicensed under either of\n\n  * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0)\n  * MIT license ([LICENSE-MIT](LICENSE-MIT) or http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","Bytehound 是一个针对 Linux 系统的内存分析工具。其核心功能包括对内存泄漏进行分析、记录所有内存分配和释放操作及其完整的堆栈跟踪，并能够动态剔除临时分配以支持长时间运行的应用程序的性能分析。Bytehound 使用了定制的堆栈展开实现，相比其他类似工具，在某些情况下可以显著提高效率。它支持多种数据导出格式如 JSON、Heaptrack 和火焰图，并提供了一个基于 Web 的 GUI 用于可视化分析。此外，该工具还允许将分析数据流式传输到另一台机器上，适用于内存受限环境下的应用分析。Bytehound 支持 AMD64, ARM, AArch64 和 MIPS64 架构，并且对于使用 jemalloc 作为内存分配器的应用也提供了支持。","2026-06-11 03:07:48","top_language"]