macOS system monitor in your menu bar.
This is a personal fork of exelban/stats by Serhiy Mytrovtsiy, who wrote and maintains the app. The fork adds a handful of menu bar options (listed below) and is otherwise the upstream app. It is not affiliated with or endorsed by the upstream project, and it is maintained by Nicholas Cupo on a best-effort basis. If you are not specifically after the changes below, use the official Stats.
- Menu bar spacing (Settings > General): a slider for the space between Stats widgets. With Combined modules on, it also controls the padding macOS draws around the Stats block, so the icons can sit much tighter than the system default.
- Open details on hover (Settings > General): resting the cursor on a widget opens its popup without a click and without taking focus away from the app you are using. Moving across widgets switches popups. A click pins the popup: the widget stays highlighted and the popup stays open until you click the widget again or anywhere outside it.
- Fit width to value (Network widget settings): the speed widget sizes its numbers column to the unit shown instead of reserving space for the largest possible value.
- Labels under the circle charts in the CPU and GPU popups.
- Update checks go to this fork's GitHub releases.
Everything else, including all the features, modules and translations, is upstream's work.
Download Stats.dmg from the latest release of this fork,
open it and move the app to the Applications folder. Releases are signed with a Developer ID certificate and notarized
by Apple, so they open without extra steps.
The fork keeps upstream's bundle identifier (eu.exelban.Stats). Installing it replaces the official Stats app and
uses the same settings; switching back is a matter of installing the official release again. Homebrew's stats formula
installs the official app, not this fork.
Run the uninstall script bundled with the app (requires administrator privileges to remove the SMC helper):
sh /Applications/Stats.app/Contents/Resources/Scripts/uninstall.shThe script quits Stats and removes:
- the SMC helper (
/Library/LaunchDaemons/eu.exelban.Stats.SMC.Helper.plistand/Library/PrivilegedHelperTools/eu.exelban.Stats.SMC.Helper) Stats.app- application data and preferences (
~/Library/Application Support/Stats, widget containers, andeu.exelban.Statsdefaults)
If the app has already been moved to the Trash, the script can be run directly from the repository:
curl -fsSL https://raw.githubusercontent.com/nickcupo/stats/master/Kit/scripts/uninstall.sh | shStats is supported on macOS 12 (Monterey) and newer. Beta versions of macOS are not supported - only stable releases.
Stats is an application that allows you to monitor your macOS system.
- CPU utilization
- GPU utilization
- Memory usage
- Disk utilization
- Network usage
- Battery level
- Fan's control (not maintained)
- Sensors information (Temperature/Voltage/Power)
- Bluetooth devices
- Multiple time zone clock
Please keep the two projects apart so neither maintainer gets reports for code they did not write:
- Something about the options listed above, or a problem that only happens with this fork: open an issue here. Pull requests for the fork's own features are welcome.
- Anything else (a module, a sensor, a crash, a translation): it is upstream code, so check the upstream issues first and report there, after confirming it also happens with the official build. Upstream has its own contribution policy, described in its README; please respect it and do not send upstream pull requests on behalf of this fork.
Translations are inherited from upstream. New or improved translations are best contributed upstream so everyone gets them.
macOS decides the order of the menu bar items, not Stats. It may change after the first reboot after installing Stats.
To change the order of any menu bar icon (macOS Mojave 10.14 and up):
- Hold down ⌘ (command key).
- Drag the icon to the desired position on the menu bar.
- Release ⌘ (command key).
macOS 26 introduced a new privacy control under System Settings → Menu Bar. Apps must be explicitly allowed there to display menu bar items. If Stats is running with at least one module active and one widget enabled, but none of its icons show up, this is almost certainly the cause (see upstream issue #3120).
Solution: open System Settings → Menu Bar and toggle Stats ON.
Due to a problem with high data load in the system process (chronod) responsible for communication between the app
and widgets, communication is disabled by default. To enable it, the macOS widgets option must be enabled in the Stats
settings (see upstream issue #2733).
Solution: open Stats Settings and toggle macOS widgets ON.
Reading some data periodically is not a cheap task and each module has its own cost. To reduce the energy impact, disable modules you do not need. The most expensive modules are Sensors and Bluetooth; disabling them can reduce CPU usage noticeably.
Fan control is in legacy mode upstream: it receives no updates or fixes and is kept only because it works acceptably on older Macs. This fork does not change it.
CPU/GPU sensors are thermal zones on the CPU/GPU and have no relation to the number of cores or to specific cores. A CPU is typically divided into efficiency and performance clusters, each containing several temperature sensors, and Stats simply displays those sensors. "CPU Efficient Core 1" is one temperature sensor within the efficiency cluster, not the temperature of a single core. Apple also changes the sensor keys with each new SoC, so matching them takes time.
Make sure you run the latest release. If it still crashes, check whether it also happens with the official Stats build: if it does, it is an upstream problem and belongs in the upstream issue tracker; if it only happens with this fork, open an issue here.
Stats does not collect any telemetry or analytics. This fork makes the following external requests:
https://api.github.com– update checks against this fork's releases (the upstream release server is no longer used).https://api.mac-stats.com/ip– the public IP address shown in the Network module. This endpoint is run by the upstream author and is unchanged from upstream. If you would rather not use it, disable the public IP option in the Network module or block the host with a network filter.- The optional System Stats remote monitoring feature (Remote module) talks to the upstream author's hosted service exactly as the official app does. This fork does not run or change that service.
- English
- Polski
- Українська
- Русский
- 中文 (简体) (thanks to chenguokai, Tai-Zhou, and Jerry)
- Türkçe (thanks to yusufozgul and setanarut)
- 한국어 (thanks to escapeanaemia and iamhslee)
- German (thanks to natterstefan and aneitel)
- 中文 (繁體) (thanks to iamch15542 and jrthsr700tmax)
- Spanish (thanks to jcconca)
- Vietnamese (thanks to HXD.VN)
- French (thanks to RomainLt)
- Italian (thanks to gmcinalli)
- Portuguese (Brazil) (thanks to marcelochaves95 and pedroserigatto)
- Norwegian Bokmål (thanks to rubjo)
- 日本語 (thanks to treastrain)
- Portuguese (Portugal) (thanks to AdamModus)
- Czech (thanks to mpl75)
- Magyar (thanks to moriczr)
- Bulgarian (thanks to zbrox)
- Romanian (thanks to razluta)
- Dutch (thanks to ngohungphuc)
- Hrvatski (thanks to milotype)
- Danish (thanks to casperes1996 and aleksanderbl29)
- Catalan (thanks to davidalonso)
- Indonesian (thanks to yooody)
- Hebrew (thanks to BadSugar)
- Slovenian (thanks to zigapovhe)
- Greek (thanks to sudoxcess and vaionicle)
- Persian (thanks to ShawnAlisson)
- Slovenský (thanks to martinbernat)
- Thai (thanks to apiphoomchu)
- Estonian (thanks to postylem)
- Hindi (thanks to patiljignesh)
- Finnish (thanks to eightscrow)
- Bengali (thanks to adnan29979)
- Tamil (thanks to sabapathy7)
You can help by adding a new language or improving the existing translation.
Stats is released under the MIT License, copyright (c) 2019 Serhiy Mytrovtsiy. The changes in this fork are released under the same license. The license file, the copyright notice and the translator credits above must be kept in any further fork or redistribution.
Clone the repository and open Stats.xcodeproj, or build from the command line.
A build signed with your own Apple Development certificate (put your team ID in Signing.xcconfig):
xcodebuild -scheme Stats -configuration Release -xcconfig Signing.xcconfig buildA distributable build needs a Developer ID Application certificate for the team in Release.xcconfig and, once,
stored notarization credentials (xcrun notarytool store-credentials "AC_PASSWORD"). Then:
make buildThis archives, exports, notarizes, staples and produces Stats.dmg next to the Makefile. The in-app updater looks for a
GitHub release tagged vX.Y.Z (matching MARKETING_VERSION) with a Stats.dmg asset attached.
If you fork this fork, change the update source in Stats/AppDelegate.swift to your own repository so your users are
not offered releases from here.