CPU Core Temperatures & Thermal Zone Monitoring #3
Notifications
Due Date
No due date set.
Blocks
Depends on
#24 Threshold Alerts & macOS Notification Center Integration
gronod/MacMonitor
#2 SMC Interface Engine (AppleSMC IOKit Client)
gronod/MacMonitor
Reference: gronod/MacMonitor#3
Reference in New Issue
Block a user
Purpose
Monitor real-time temperatures for Intel CPU dies and individual CPU cores, identifying thermal hotspots, thermal margin, and active hardware thermal throttling on Intel Macs.
Priority
High (Primary metric for Intel Mac performance degradation and cooling health)
Dependencies
Scope
TC0P,TC0D,TCXC), CPU Cores (TC0C,TC1C,TC2C... up to the available core count), and Intel PECI (Platform Environment Control Interface) readings.Implementation Suggestions
TC[0-9]C(Core temperatures),TC0F(Die temperature), andTC0P(Proximity).sysctlbyname("hw.ncpu", ...)orsysctlbyname("hw.physicalcpu", ...).OSThermalNotificationorProcessInfo.processInfo.thermalStateto detect OS-level throttling intervention.Technical Implementation Plan & Code Solution
1. Intel Thermal Architecture & Key Matrix
Intel CPUs on macOS report internal DTS (Digital Thermal Sensor) core temperatures, PECI (Platform Environment Control Interface) readings, and thermal diode proximity values through AppleSMC.
Key Catalog for Intel Architectures
TC0P(Proximity),TC0D(Die),TC0E,TC0FTC0CthroughTC15C(dynamically matched to physical core count)TCXC,TCSC2. Objective-C Provider (
MMCPUThermalProvider.m)3. Swift ViewModel & Contract
4. Edge Cases Handled
< 0°Cor> 130°C) to eliminate spurious sensor read errors.Completed in
feat/3-cpu-thermalsand merged intodevelop.MMCPUThermalProviderprobing AppleSMC package temperature keys (TC0P,TC0D,TC0H,TCXC).TC0C..TCnC) based on physical core counts.NSProcessInfoThermalState.MMCPUThermalTests.swift.