Ana Sayfa

Mac'inizin Termal Kısıtlamaya Girdiğini Bir macOS Uygulaması ile Tespit Etmek

1 dk okuma

M2 MacBook Air kullanıcıları, özellikle harici 4K 120Hz ekran gibi yoğun yük altında çalıştıklarında cihazlarının termal kısıtlamaya (thermal throttling) girdiğini fark edebilirler. Fansız tasarımları nedeniyle bu durumu sesli olarak anlamak mümkün olmasa da, sistemin yavaşlaması veya tepkisizleşmesiyle hissedilir hale gelir. Yazar, bu durumu iStat Menus ve MX Power Gadget gibi araçlarla CPU kullanımının %100 kalmasına rağmen güç tüketiminin düştüğünü gözlemleyerek doğrulamıştır. Bu gözlemler, Mac'in performansını düşürerek kendini korumaya aldığını göstermektedir.

Yazar, Mac'in termal durumunu programatik olarak öğrenmek için bir macOS uygulaması geliştirmeye karar vermiştir. Apple'ın önerdiği ProcessInfo.thermalState API'si ile yola çıkılmış, ancak bu metodun yalnızca "nominal", "fair", "serious" ve "critical" gibi genel durumları döndürdüğü görülmüştür. Daha detaylı bilgi sağlayan ve root yetkisi gerektiren powermetrics -s thermal komutu ise "nominal", "moderate", "heavy", "trapping" ve "sleeping" gibi daha fazla ve daha spesifik durumlar sunmaktadır.

Yapılan stres testleri sonucunda, ProcessInfo.thermalState ve powermetrics'in termal durumları farklı granülerlikte raporladığı ortaya çıkmıştır. Özellikle ProcessInfo'daki "fair" durumu, powermetrics'in "moderate" ve "heavy" durumlarını kapsayarak, Mac'in gerçekten ne zaman termal kısıtlamaya girdiğini (yani "heavy" duruma geçtiğini) anlamak için yetersiz kalmaktadır. Bu durum, doğru ve hassas bir termal kısıtlama tespiti için daha detaylı bir yaklaşıma ihtiyaç duyulduğunu göstermektedir.

İçgörü

Mac'lerin termal kısıtlamaya ne zaman girdiğini programatik olarak tespit etmenin zorluklarını ve farklı API'lerin granülerlik farklarını ortaya koyuyor.

Kaynak