Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FanSleuth

简体中文

FanSleuth is a native macOS menu bar app that identifies the workload behind a sudden fan-speed increase. It keeps a 20-second history of CPU, GPU, and process activity, then shows the most likely cause when the fans ramp up.

macOS 15+ Apple Silicon GPL-3.0-or-later

Features

  • Shows fan RPM, GPU utilization, and the system thermal state.
  • Groups helper processes under apps such as Chrome and Arc.
  • Ranks causes from average CPU, peak CPU, and GPU evidence.
  • Saves the latest 30 fan events and supports manual analysis.
  • Includes three sensitivity levels and launch at login.
  • Follows the macOS language setting with English and Simplified Chinese translations.

The Balanced setting triggers after a rise of at least 700 RPM within 20 seconds and a speed of 2500 RPM.

Install

FanSleuth supports Apple Silicon Macs running macOS 15 or later.

  1. Open Releases.
  2. Download FanSleuth-v1.0.1-macos-arm64.zip.
  3. Extract the archive and move FanSleuth.app to Applications.
  4. Right-click FanSleuth and choose Open for the first launch.

The release uses an ad-hoc signature. If macOS keeps the app behind Gatekeeper, open System Settings → Privacy & Security and choose Open Anyway. You can also clear quarantine after confirming that the archive came from this repository:

xattr -dr com.apple.quarantine /Applications/FanSleuth.app
open /Applications/FanSleuth.app

Build from source

Install Apple Command Line Tools:

xcode-select --install

Build and launch:

git clone https://github.com/Unintendedz/FanSleuth.git
cd FanSleuth
./build-app.sh
open .dist/FanSleuth.app

The build script creates a release binary and applies an ad-hoc signature. Apple Command Line Tools provide the required compiler.

Use

FanSleuth stays in the menu bar after launch:

  • The menu bar number shows the average RPM across the fans.
  • Busiest now lists current CPU use; 100% equals one CPU core.
  • Analyze current load captures evidence when the fans already run fast.
  • Automatic events include the ranked cause, confidence, average CPU, and peak CPU.

Fan speed reacts after heat builds up. The 20-second evidence window retains processes that finish or cool down before the fans reach full speed.

Language

FanSleuth follows the macOS app language. English serves as the base language, and Simplified Chinese appears when macOS selects Chinese for the app. You can choose an app-specific language in System Settings → General → Language & Region → Applications.

Data and permissions

FanSleuth reads Apple SMC and IOKit data with standard user permissions. Monitoring stays on your Mac, and the app uses local system APIs.

Event history is stored at:

~/Library/Application Support/FanSleuth/events.json

macOS exposes total GPU utilization through standard user APIs. FanSleuth combines that value with GPU Helper, Renderer, WindowServer, and CPU activity to produce a confidence-ranked estimate.

Verify

Run the core behavior and localization checks:

swift run FanSleuthCoreChecks
Tests/LocalizationCheck.sh

The checks cover fan triggering and rearming, process grouping, the 20-second evidence window, GPU clues, SMC decoding, default sensitivity, English copy, Simplified Chinese copy, and packaged app resources.

License

Copyright © 2026 Unintended.

FanSleuth uses the GNU General Public License v3.0 or later, identified by GPL-3.0-or-later.

Commercial use and sales are permitted. Distribution of FanSleuth, modified versions, or binaries requires the corresponding source, this copyright notice, and GPLv3-or-later terms. Internal company use and internal modifications may stay inside the company.

Third-party code

The SMC layout and read sequence draw from MacThrottle and Stats. Their MIT notices are stored in Packaging/ThirdPartyNotices.txt and bundled with each release.

About

Find which process made your Mac fans ramp up.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages