iStat Server is a remote system monitoring daemon for iStat View-compatible clients. This maintained fork keeps the original protocol usable on modern Linux systems and adds preliminary macOS Apple Silicon support.
The original project was released by Bjango and is based on istatd by William Tisater. This fork is maintained at:
https://github.com/ulf16/istatserverlinux
Release v1.2.0 brings the fork in line with the telemetry expected by
iStat View-compatible clients on modern Linux systems and Apple Silicon Macs.
- Modern Autotools build for current GCC, Clang, pkg-config, OpenSSL, SQLite, and libxml2 environments.
- Hardened Linux install path with safer config permissions and optional systemd service installation.
- Bonjour/Avahi discovery where available.
- Linux CPU, memory, load, uptime, disk, disk I/O, network, process, sensor, power, frequency, and GPU telemetry.
- Preliminary macOS Apple Silicon support, tested on Mac mini M1.
- macOS memory pressure, APFS-aware disk space, disk I/O mapping, task lists, Apple Silicon sensor names, fan speed, power, frequency, and AGX GPU counters.
- Protocol extensions for server model, OS version, memory pressure, GPU data, disk metadata, task lists, and sensor units.
- Install and upgrade paths preserve existing configuration and SQLite history databases.
| Platform | Architecture | Example Device | Status |
|---|---|---|---|
| Linux | x86_64 | Intel/AMD servers, Intel Mac mini | Stable |
| Linux | aarch64 | Odroid N2, Raspberry Pi 4 64-bit | Stable |
| Linux | armv7l | Odroid XU4, older Raspberry Pi systems | Stable |
| macOS | arm64 | Apple Silicon Mac mini | Preliminary |
| BSD/AIX/Solaris/HP-UX | varies | legacy supported targets | Not recently tested |
Linux:
- CPU usage, task list, load, uptime, memory, swap, and process memory
- Disk capacity and disk I/O
- Network interface throughput
- lm_sensors temperature and fan sensors
- CPU frequency through cpufreq
- Intel RAPL CPU package/core/uncore power
- GPU telemetry where exposed through sysfs, DRM, devfreq, or i915 debugfs
macOS Apple Silicon:
- CPU usage, task list, load, uptime, memory, swap, and memory pressure
- Disk capacity using APFS-aware volume accounting
- Disk I/O mapped back to displayed APFS volumes, including multi-disk volumes
- Network interface throughput
- Apple HID temperature sensors with readable Apple Silicon names
- Fan speed through SMC-compatible interfaces
- CPU/GPU/ANE/RAM/PCIe power where available through IOReport/powermetrics
- CPU and GPU frequency through the powermetrics helper
- AGX GPU load, renderer/tiler utilization, and unified GPU memory counters
curl -fsSL https://raw.githubusercontent.com/ulf16/istatserverlinux/master/get-istatserver.sh -o istatserverlinux.sh
sh istatserverlinux.shThe quick installer is designed for Linux distributions using systemd. It
installs required packages, builds the daemon, installs it, and enables the
istatserver service.
On non-systemd systems, the build can still succeed, but service installation is skipped. Run the daemon manually or add a local init script:
sudo -u istat /usr/local/bin/istatserver- C and C++ compilers such as gcc, g++, or clang
- Autoconf, automake, libtool, and pkg-config/pkgconf
- OpenSSL/libssl plus development headers
- SQLite3 plus development headers
- libxml2 plus development headers
Optional libraries:
- libavahi plus development headers for Bonjour discovery on Linux
- lm_sensors/libsensors4 plus development headers for Linux sensors
On macOS, Homebrew packages are sufficient for the build dependencies. The Apple Silicon helper installed by this fork is used for powermetrics-derived frequency and power values.
git clone https://github.com/ulf16/istatserverlinux.git
cd istatserverlinux
./autogen
./configure
make
sudo make install
sudo /usr/local/bin/istatserver -dA 5 digit passcode is generated by the install script. It can be found in:
/usr/local/etc/istatserver/istatserver.conf
iStat View-compatible clients ask for this passcode the first time they connect.
Stop the running service, rebuild, and install normally:
sudo service istatserver stop
git pull
./autogen
./configure
make
sudo make install
sudo service istatserver startThe installer preserves the existing configuration and SQLite history database.
Do not remove /usr/local/etc/istatserver/istatserver.db if you want to keep
historical graph data.
Apple's powermetrics tool requires elevated privileges. This fork ships a
small LaunchDaemon helper that samples powermetrics and writes a plain key/value
file read by the unprivileged server process.
After installing the server under /opt/istatserverlinux, install the helper:
sudo /opt/istatserverlinux/contrib/install-macos-helper.shTo remove it:
sudo /opt/istatserverlinux/contrib/uninstall-macos-helper.shThe build can install the systemd unit directly:
./configure --enable-systemd-unit
make
sudo make install
sudo systemctl enable --now istatserverYou can also install the unit manually:
sudo cp ./resource/systemd/istatserver.service /etc/systemd/system/istatserver.service
sudo systemctl daemon-reload
sudo systemctl enable --now istatserversudo cp ./resource/upstart/istatserver.conf /etc/init/istatserver.conf
sudo start istatserversudo cp ./resource/rc.d/istatserver /etc/rc.d/istatserver
sudo /etc/rc.d/istatserver start- The service runs as a dedicated
istatuser where supported. - Configuration and database files live in
/usr/local/etc/istatserver/. - The systemd unit runs the process in the foreground under systemd supervision.
- Linux RAPL power readings can be exposed to the
istatuser with a narrow udev rule instead of running the daemon as root. - Self-signed certificates use RSA-2048 with SHA-256 through OpenSSL's modern EVP API and are stored in:
/usr/local/etc/istatserver/key.pem
/usr/local/etc/istatserver/cert.pem
To expose Intel RAPL readings without root, install a udev rule such as:
SUBSYSTEM=="powercap", KERNEL=="intel-rapl:*", TEST=="%S%p/energy_uj", GROUP="istat", MODE="0440"
Then reload and apply it:
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=powercapThe native replacement macOS viewer prototype is kept in a separate private repository. This repository contains the server and server-side helper assets only.
::::::::: ::::::: :::: :::: ::: :::::::: ::::::::
:+: :+: :+: :+: :+: :+:+: :+: :+: :+: :+: :+:
+:+ +:+ +:+ +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+
+#++:++#+ +#+ +#++:++#++: +#+ +:+ +#+ :#: +#+ +:+
+#+ +#+ +#+ +#+ +#+ +#+ +#+#+# +#+ +#+# +#+ +#+
#+# #+# #+# #+# #+# #+# #+# #+#+# #+# #+# #+# #+#
######### ##### ### ### ### #### ######## ########