📈 GH Trending Explorer 🎲 Surprise me

← all repos

CLoaKY233 / siltop

git clone https://github.com/CLoaKY233/siltop.git v1.2.1 · 4d ago

Terminal system monitor for Apple Silicon Macs: CPU, GPU, power, temperatures, processes.

—
stars, 24h
+34
stars, 7 days · #1,214
+34
stars, 30 days · #8,196
34
★ total · +34% this week
3
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageRust
LicenseApache-2.0
Created2026-10-16 (4d ago)
Last push3d ago
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# siltop
A terminal system monitor for Apple Silicon Macs (M1 to M5). It shows CPU, GPU, memory,
power, temperatures, fans, network, disk and a process table. Power and clock readings come
from the SMC and IOReport and do not need root.
The screenshots are from `siltop --demo`, which plays a recorded 60-second session.
## What it reads
| Reading | Source |
| --- | --- |
| CPU load per cluster (Efficiency, Performance, Super) | Mach host statistics |
| CPU and GPU clocks | IOReport residency |
| CPU, GPU, ANE and DRAM power | IOReport energy counters |
| System power, temperatures, fans | SMC |
| Memory, swap, memory pressure | `sysctl`, Mach VM statistics |
| Battery charge, health, cycles, adapter | IOKit power sources |
| Processes: CPU, footprint memory, energy, GPU, disk | `proc_pid_rusage`, `sysctl` kinfo |
Things a Mac does not have are left out: Airs have no fan readings, desktops have no battery.
Values macOS will not give to a normal user, such as other users' process memory, show as `—`.
On macOS 27 some IOReport power counters only update every few seconds. siltop shows the last
real reading with its age (`≈ 4s`) instead of reporting 0 W in between.
### Compared with similar tools
| | siltop | btop | macmon | asitop |
| ---------------------------------------- | :----: | :--: | :----: | :----: |
| CPU / GPU / ANE / DRAM power | yes | no | yes | yes |
| Per-cluster clocks | yes | no | yes | yes |
| Temperatures and fans | yes | CPU temp | temps | no |
| Per-process energy and GPU | yes | no | no | no |
| Process tree, filter, signals | yes | yes | no | no |
| Runs without `sudo` | yes | yes | yes | no |
| Machine-readable output | JSON, NDJSON, Prometheus, CSV | no | JSON | no |
Measured on an M5 Pro at a 1 s interval, siltop uses about 1.3% of one CPU core, btop about
2.5% and macmon about 1.4%. Method and raw numbers:
docs/research/12-self-cost.md.
## Install
Requires macOS on Apple Silicon.
Homebrew:
 [code] 
Prebuilt binary, into `~/.local/bin`:
 [code] 
`siltop update --yes` updates a copy installed this way. Each
release also has a `.zip` and SHA-256 files.
The binary is not notarized, so a copy downloaded with a browser is blocked by macOS until
you run `xattr -d com.apple.quarantine siltop`.
From source (Rust 1.98 or newer):
 [code] 
## Usage
 [code] 
In the dashboard, `?` lists the keys, `m` opens the menu and `s` opens settings. The bottom
line shows a short verdict such as `All normal` or `Busy: rustc using 9.1 cores`.
The user guide covers every panel, the keys, settings, themes, alerts and
scripting.
## Configuration
Settings are in `~/.config/siltop/config.toml` (or under `$XDG_CONFIG_HOME`). The file is
only written when you change a setting, and comments you add are kept. Environment variables:
| Variable | Effect |
| --- | --- |
| `SILTOP_THEME= ` | Theme. `auto` (the default) builds one from the terminal's colours. |
| `SILTOP_KEYS=htop\|btop` | htop or btop key layout |
| `SILTOP_COLORS=truecolor\|256\|16\|none` | Ove