SwapAudit
Per-process swap and /tmp cache attribution with guarded cleanup for Linux
Why This Was Built
Linux developer workstations accumulate swapped-out background processes and stale /tmp caches, but `free`, `top`, and `vmstat` only show aggregates.
The Architectural Answer
Reads /proc and /tmp to rank the processes and caches responsible, then drains swap or prunes caches through explicit, guarded actions with a dry-run.
Key Features & Architecture
Technical Specifications
- Primary Languages
- Go
- Frameworks & Tooling
- Go standard libraryLinux /proc
- Architecture & Execution Model
- Single static binary; /proc parsers, pure planner, guarded executor; no daemon
- Licensing Model
- Dual: WaqfDPL-Mulzim 1.0 / AGPL-3.0 (waqf)
- Release & Lineage
- Active release cycle since 2026 · Maintained by @JadMadi
Frequently Asked Questions
Does SwapAudit send my data anywhere?
No. The default audit makes no network requests. `--check-updates` or `SWAPAUDIT_CHECK_UPDATES=1` performs one GitHub release request. There is no telemetry and no account.
Which Linux architectures are supported?
amd64, arm64, armv7, and riscv64, as static binaries. `go install` works on any Linux architecture supported by Go.
Does it kill processes automatically?
No. Cleanup requires an explicit flag. Process termination checks the real UID, PID start ticks, and orphan evidence; `--dry-run` previews every action.