🍺 BREW Explorer

← all formulae

btdu

brew install btdu v0.7.2 GPL-2.0-only

Sampling disk usage profiler for btrfs

22
30-day installs · #6515
30
90-day · #8657
30
365-day · #12634
626
★ GitHub stars · updated 3mo ago

Build dependencies

GitHub topics

btrfs

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "btrfs-progs",
    "dub",
    "ldc"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Sampling disk usage profiler for btrfs",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:00+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "btdu",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-05-12T17:12:12Z",
  "github_readme_excerpt": "btdu - sampling disk usage profiler for btrfs\n=============================================\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://dump.cy.md/e17c462459de465a66f2d511f3201866/btdu_0_6.png\"\u003e\n\u003c/p\u003e\n\nSome [btrfs](https://btrfs.wiki.kernel.org/) features may make it difficult to estimate what disk space is being used for:\n\n- **Subvolumes** allow cheap copy-on-write snapshots of entire filesystem trees, with unmodified data being shared among snapshots\n- **File and extent cloning** allow creating cheap copies of files or parts thereof, with extents being stored only once\n- **Compression** transparently allows further reducing disk usage\n\nFor these reasons, classic disk usage analyzers such as [ncdu](https://dev.yorhel.nl/ncdu) cannot provide an accurate depiction of actual disk usage. (btrfs compression in particular is challenging to classic analyzers, and [special tools](https://github.com/kilobyte/compsize) must be used to query compressed usage.)\n\n**btdu** is a sampling disk usage profiler for btrfs. It works according to the following algorithm:\n\n1. Pick a random point on the disk in use\n2. Find what is located at that point\n3. Add the path to the results\n4. Repeat the above steps indefinitely\n\nThough it works by taking random samples, it is \"eventually\" accurate.\n\nIt differs from classic analyzers through the following properties:\n\n- btdu starts showing results instantly. Though wildly inaccurate at first, they become progressively more accurate the longer btdu is allowed to run.\n- btdu analyzes entire filesystems only. There is no way to analyze only a particular subdirectory or subvolume.\n- btdu counts extents used by multiple files only once. (The shortest path is used when placing the sample in the tree for visualization.)\n- By nature of its algorithm, btdu works correctly with compression and other btrfs filesystem features.\n- Because it queries raw filesystem metadata, btdu requires root privileges to run.\n\n\nUse cases\n---------\n\n- **Quickly summarize space us",
  "github_repo": "CyberShadow/btdu",
  "github_stars": 626,
  "github_topics": [
    "btrfs"
  ],
  "homepage": "https://github.com/CyberShadow/btdu",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 22,
  "installs_365d": 30,
  "installs_90d": 30,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "GPL-2.0-only",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "btdu",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 6515,
  "rank_365d": 12634,
  "rank_90d": 8657,
  "raw_hash": "e4b5ec28f86c7681",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/b/btdu.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [
    "ncurses"
  ],
  "version_head": null,
  "version_stable": "0.7.2",
  "versioned_formulae": [],
  "why_use_this": null
}