Favicon of macmon

macmon

A local system monitor for Apple Silicon Macs that tracks power, temperature and memory without root access, with JSON and Prometheus output. It's MIT licensed.

macmon is a local system monitor for Apple Silicon Macs that reads hardware performance data without administrator privileges. It's for people checking resource use during local AI workloads or other demanding tasks, and developers who need those measurements in their own tools. It runs on macOS and supports M1 through M5 chips.

The terminal interface shows CPU, GPU and Apple Neural Engine power consumption alongside RAM and swap use, CPU and GPU temperatures, and fan speeds. Historical charts include averages and maximum values, so you can compare a brief spike with sustained load. The display can fit in a small terminal window.

CPU measurements distinguish time spent active from usage adjusted for clock frequency. That helps explain why a processor can be busy without using its full capacity. Detailed readings cover individual cores and the efficiency and performance clusters, with frequency and activity measurements for the GPU too.

For monitoring beyond the terminal, macmon exports JSON for scripts and serves JSON or Prometheus metrics over HTTP. It works with Prometheus and Grafana, and its metrics server can start automatically at login. Built-in stress tests generate CPU or GPU load, including cyclic CPU activity for checking how readings respond.

The project is open source under the MIT license and written in Rust. It reads the same performance data exposed by Apple's powermetrics through a private macOS API, without requiring root access. Developers can also use its Rust library to collect Apple Silicon metrics inside their own applications.

Similar to macmon