67 lines
1.7 KiB
Markdown
67 lines
1.7 KiB
Markdown
# sloptop
|
|
|
|
`sloptop` is a Rust TUI resource monitor for Linux.
|
|
|
|
## Features
|
|
|
|
- htop-style process table by default with selection and scrolling
|
|
- Sortable process columns (PID/CPU/MEM) with direction indicators
|
|
- Toggleable process details pane (right on wide terminals, bottom on narrow)
|
|
- CPU total bar + per-core mini-bars
|
|
- Memory/swap bars and disk usage bars (top-N by usage)
|
|
- Disk pseudo-filesystem filtering toggle (`tmpfs`/`devtmpfs`/`overlay`)
|
|
- Compact network rates + totals + interface label
|
|
- Adjustable refresh interval, pause/resume, responsive layout
|
|
|
|
## Build
|
|
|
|
Prerequisites:
|
|
- Rust toolchain (`rustc` + `cargo`)
|
|
|
|
Build optimized binary:
|
|
|
|
```bash
|
|
cargo build --release
|
|
```
|
|
|
|
Binary path:
|
|
|
|
```bash
|
|
./target/release/sloptop
|
|
```
|
|
|
|
## Run
|
|
|
|
Default refresh interval is 1000 ms:
|
|
|
|
```bash
|
|
cargo run -- --interval-ms 1000
|
|
```
|
|
|
|
Accepted interval range: `200..=5000` ms.
|
|
|
|
## Keybindings
|
|
|
|
- `q` / `Esc`: quit
|
|
- `p` / `Space`: pause/resume sampling (when summary is focused)
|
|
- `+` / `=`: increase refresh interval by 200 ms
|
|
- `-`: decrease refresh interval by 200 ms
|
|
- `Tab`: switch focus between summary and process table
|
|
- `↑`/`↓`, `PgUp`/`PgDn`, `j`/`k`: move process selection
|
|
- `c` / `m` / `p`: sort by CPU / MEM / PID (`p` sorts PID when process table focused)
|
|
- `r`: reverse sort direction
|
|
- `d`: toggle process details pane
|
|
- `f`: toggle pseudo-filesystem disk filtering
|
|
|
|
## Notes
|
|
|
|
- Target platform is Linux.
|
|
- Network throughput is computed as a delta between consecutive samples.
|
|
- Disk and network metrics are system-wide aggregates.
|
|
|
|
## Next steps
|
|
|
|
- Add top-process table with sorting/filtering
|
|
- Add historical sparklines and alert thresholds
|
|
- Extend platform-specific support and testing for macOS/Windows
|