# bfree โจ
A better `free`, human by default.
Inspired by tools like `btop`, `bfree` gives you memory and swap stats in a clean one-line summary.
The command nobody asked for โ but your RAM deserves it. ๐
## Why bfree?
The traditional `free` command is powerful but outdated in UX and modern workload awareness.
### Problems with `free`
- โ Not human-readable by default (KB output)
- โ Confusing memory semantics (`used` vs `free` vs `buff/cache`)
- โ No percentages
- โ No visual signal
- โ Not container/cgroup aware
- โ No context about reclaimable memory
- โ No PSI (pressure stall info)
- โ Misleading inside Kubernetes / Docker / Podman
Modern systems deserve better visibility.
## Highlights
- ๐งผ **Clean by design** โ minimal, focused, and pleasant to read
- ๐ **Human-first output** โ sizes + percentages in one line
- ๐ง **Useful memory semantics** โ includes effective reclaimable cache
- โก **Snappy** โ lightweight Rust CLI
## Status
- โ
Linux `/proc/meminfo` parser
- โ
One-line memory + swap output
- โ
Percentages for used/cache/available/swap
- โ
Unit tests for memory math
- ๐ Container/cgroup-aware mode
- ๐ PSI (pressure stall information)
- ๐ Optional visual signal (bars/colors)
## Current Semantics
- `used` = `MemTotal - MemAvailable`
- `cache` = `Cached + SReclaimable - Shmem` (effective reclaimable cache)
- `avail` = `MemAvailable`
## Run
```bash
cargo run --
```
## Contributing
Ideas, feedback, and PRs are welcome. The project is young โ jump in early and shape it.
---
Made with โค๏ธ for the terminal.