MacBook'unuz kodlarken ısındığında

Kodlarken MacBook'un ısınması hemen her zaman sürekli CPU ve GPU yükünden kaynaklanır — uzun bir derleme, üst üste Docker container'ları, yerel bir model — başlı başına bir donanım sorunu değildir. Normal ısınmayı gerçek bir soruna dönüştüren şey, ısının gidecek yeri olmamasıdır: kapalı bir kapak, yumuşak bir yüzey ya da kimsenin izlemediği gözetimsiz bir iş. Burada, insanların işlerini sürdürmek için zaten kullandığı ücretsiz araçlar da dahil olmak üzere gerçekten işe yarayanlara dürüst bir bakış var — ve bu araçların ısı konusunda tam olarak nerede yetersiz kaldığına.
Öncelikle neden ısınır
Isı, çipin iş yapmasının sonucudur, başlı başına bir uyarı işareti değil. Uzun bir derleme, üst üste Docker container'ları ya da yerel bir model çalıştırması, CPU ve GPU'yu dakikalarca ya da saatlerce neredeyse tam kapasitede tutar; sıcaklığı yükselten şey tek bir ani sıçrama değil, bu sürekli yüktür.
Kapalı bir kapak, bu ısıyı tam da havalandırma deliklerinin serin hava çekmek için tasarlandığı klavye yüzeyine hapsederek durumu kötüleştirir. Yatak, koltuk ya da çanta gibi yumuşak bir yüzey de aynı delikleri alttan tıkar; sonuçta ısının her iki durumda da gidecek yeri kalmaz.
Yük altında biraz ısınma beklenen ve normal bir durumdur. Asıl dikkat edilmesi gereken, sıcaklığın yükselip yüksek kalmasıdır; çünkü tam da o noktada çip kendini korumak için hız düşürmeye (throttling) başlar ve build'iniz ya da işiniz hâlâ "çalışıyor" görünse de aslında yavaşlar.
Bunların hiçbiri bir arıza değildir. Gerçek bir soruna dönüşmesi, yalnızca ısının gidecek yeri kalmadığında ve kimsenin izlemediği durumlarda olur — ki bu da genellikle insanların en çok kendi haline bırakmak istediği işler için geçerlidir: uzun build'ler, yerel modeller ve iş gözetimsiz devam etsin diye özellikle başlatılan kapalı-kapak oturumları.
İnsanlar sıcak bir işi yine de nasıl sürdürüyor
Bir iş saatler sürdüğünde ilk içgüdü, Mac'i soğutmak değil uyumasını engellemektir — gözetimsiz bir işin önüne asıl macOS'un varsayılan uyku zamanlayıcıları çıkar, dolayısıyla insanların önce düzelttiği şey de bu olur.
caffeinate, macOS'un kendi yerleşik terminal komutudur (örneğin caffeinate -i, ya da çalışan bir sürece bağlı caffeinate -w <pid>). Ön planda çalışan bir oturum için gerçekten kullanışlıdır — kurulum gerektirmez, ücretsizdir — ama bir arayüzü yoktur, hiçbir güvenlik sınırı içermez ve kapağın açık olmasını gerektirir. Sıcaklığın ne olduğunu bilmez, umursamaz da.
Amphetamine, Caffeine, KeepingYouAwake ve Lungo gibi menü çubuğu uygulamaları da temelde aynı işi yapar, ama caffeinate'te olmayan gerçek kolaylıklarla: açma/kapama simgesi, zamanlayıcılar ve belirli uygulamalarda tetiklenen kurallar. Yapıldıkları iş için sağlam araçlardır — genel amaçlı uyanık-tutma otomasyonu — ama onlar da termal durumu okumaz.
Kapağın gerçekten kapalı kalması için perde arkasındaki mekanizma pmset disablesleep 1'dir; macOS bunu kapatmak için disablesleep 0 ile eşleştirmenizi ister, yoksa süresiz açık kalır. Elle çalıştırmak işe yarar ve bu, LidRun'un kendi Closed-Lid modunun kullandığı aynı sistem çağrısıdır — sadece bir arayüzü, bir pil/termal alt sınırı ya da 0'ı otomatik eşleştirecek bir mekanizması yoktur. Diğer ücretsiz yol ise harici ekranla clamshell modudur: güce bağlıyken bir monitör, klavye ve fare taktığınızda macOS, Mac'i "kullanımda" saydığı için kapak kapalıyken kendiliğinden çalışır. Herhangi bir uyanık-tutma hilesine gerek kalmaz — ama bu bir masa üstü kurulumudur, hareket halinde bir dizüstü kullanımı değil, ve o da sıcaklığı izlemez.
İlgili kılavuzGeliştiriciler için Mac fan kontrolüBu geçici çözümün sizi nerede vurduğu
Bu araçların hiçbiri Mac'in aşırı ısınıp ısınmadığını anlamak için tasarlanmadı — tek amaçları uykuyu engellemekti, hepsi bu işi dürüstçe yapıyor. Risk, ne yaptıkları konusunda yalan söylemeleri değil; "uyanık kalmak" ile "güvende kalmak"ın iki ayrı iş olması ve yalnızca birinin karşılanıyor olması.
Somut arıza şöyle görünür: uzun bir iş üzerinde caffeinate ya da pmset disablesleep 1 çalıştırırsınız, kapağı kapatırsınız ve Mac'i "sadece bir saatliğine" bir çantaya ya da yastığın altına koyarsınız. Komut tam olarak vaat ettiğini yapar — Mac uyanık kalır — ama bu sırada iş, tıkalı havalandırma delikleriyle ve ısının yükselişini izleyen hiçbir şey olmadan çalışmaya devam eder.
Zamanlayıcılı bir uyanık-tutma uygulamasında da aynı boşluk var: zamanlayıcı zamanla ilgilidir, sıcaklıkla değil. Bir iş süresi boyunca yüksek bir termal durumda kalabilir ve uygulama bunu asla bilmez, çünkü zaten hiç bakması istenmemiştir.
Bunun daha küçük, kolayca düşülen bir versiyonu da var: iş bittikten sonra pmset disablesleep 1'i tekrar 0'a eşlemeyi unutmak, ki bu da Mac'in normal şekilde uyuyamamasına yol açar. Bunu elle ayarladıysanız ve tekrar kapatıldığından emin değilseniz, pmset -g komutunun çıktısında SleepDisabled değerini görebilirsiniz.
Dürüstçe: gerçekten işe yarayan
Sıkıcı cevaplar gerçek olanlardır: hava akışı ve sert, düz bir yüzey herhangi bir uygulamadan daha çok işe yarar. Dizüstünün arkasını biraz kaldırıp altından hava geçmesini sağlamak gerçekten etkilidir ve hiçbir maliyeti yoktur.
macOS, standart arayüzünün hiçbir yerinde bir sıcaklık değeri göstermez, ama perde arkasında termal hız düşürmeyi (throttling) izler. Terminal'de pmset -g therm komutunu çalıştırıp CPU_Speed_Limit değerine bakın: 100, çipin tam hızda çalıştığı anlamına gelir; bundan belirgin şekilde düşük herhangi bir sayı ise çipin ısıdan kurtulmak için zaten kendini yavaşlattığı anlamına gelir. Bu, macOS'un sunduğu yerleşik teşhise en yakın şeydir ve LidRun'un da elle çalıştırmanıza gerek kalmadan otomatik olarak izlediği sinyal tam olarak budur.
Bir iş ısındığında, yükü hafifletmek insanların beklediğinden daha çok işe yarar: paralel iş sayısını sınırlamak (varsayılan olarak her çekirdeği kullanmak yerine make -j4 ya da ninja -j4), Docker Desktop'ın Resources ayarlarında CPU çekirdek limitini düşürmek, ya da yerel modeller için Ollama'nın OLLAMA_NUM_PARALLEL ve OLLAMA_MAX_LOADED_MODELS ortam değişkenleriyle eşzamanlılığı sınırlamak, veya en büyük modele ihtiyacınız yoksa daha küçük, quantize edilmiş bir model çalıştırmak. Bunların her biri, biraz daha uzun süre karşılığında daha düşük sürekli sıcaklık sağlar.
İş aynı kalırken ısıyı yok eden bir ayar yoktur; bir Mac'in asla aşırı ısınmayacağını iddia eden herhangi bir araç gerçeği abartıyor demektir. Dürüst hedef, daha düşük tepe sıcaklık ve sıcaklık yükseldiğinde daha hızlı bir çıkış yoludur — bunun hiç yaşanmayacağına dair bir vaat değil.
Termal farkındalığa sahip bir aracın yeri
Etkileşimli olarak kod yazıyorsanız ve Mac ısınıyorsa, bunu hissedersiniz ve tepki verebilirsiniz — bir pencere açarsınız, build'i hafifletirsiniz, bir dakikalığına masadan uzaklaşırsınız. Böyle bir durumda sizin için izleyen bir şeye ihtiyacınız yok.
Termal izlemenin asıl gerekçesi, uzun ve gözetimsiz işlerdir; özellikle kapak kapalıyken, ısının yükseldiğini fark edecek kimsenin ekranın başında olmadığı durumlar. LidRun, macOS'un kendisinin bildirdiği aynı kaba termal sinyali — Normal, Orta, Sıcak ve Çok Sıcak olmak üzere dört seviye — menü çubuğunda canlı olarak gösterir; donanımın açığa çıkardığı yerlerde SMC üzerinden bildirilen sıcaklık ve o CPU_Speed_Limit throttle değeriyle birlikte.
Mekanizma belirsiz değil, nettir: durum "Sıcak" seviyesine geçtiği anda LidRun bir uyarı gösterir. "Çok Sıcak" okuduğu anda ise uyanık-tutma bağlantısını hemen bırakır; Closed-Lid modu açıksa onu da kapatır ve kapağı açmanızı ya da hava akışını düzeltmenizi söyler — sıcak bir işin kapak kapalıyken kimse izlemeden çalışmaya devam etmesine izin vermek yerine. caffeinate'ten ya da düz bir uyanık-tutma zamanlayıcısından farkı da bu: bırakma işlemi bir saate değil, ısıya bağlıdır.
Açıkça belirtilmesi gereken dürüst bir sınır var: LidRun fanlarınızı döndürmez ya da bir RPM belirlemez. Apple Silicon'da sistem, üçüncü taraf fan kontrolünü doğrudan kısıtlar, bu yüzden hiçbir uygulama bunu dürüstçe vaat edemez. LidRun'un yaptığı, izlemek ve geri çekilmektir — riski yönetir, donanımı geçersiz kılmaz. Ağır build'leri ya da model çalıştırmalarını siz uzaktayken düzenli olarak sürdürüyorsanız, asıl değerli olan kısım bu geri çekilmedir: gözetimsiz bir işin ne zaman durması gerektiğine şansa bırakmak yerine bir termal sınırın karar vermesi.
Serin tutan birkaç alışkanlık
Bir yatak, koltuk ya da kapalı çanta üzerinde değil, bir masa ya da stand üzerinde çalıştırın. Açık havalandırma delikleri, herhangi bir yazılım ayarından daha önemlidir ve bu listedeki en etkili tek alışkanlık budur.
Odayı makul bir sıcaklıkta tutun ve dizüstünü doğrudan güneş ışığından uzak tutun. Ortam sıcaklığı, iş yükünün zaten ürettiği ısının üzerine eklenir.
Arka kenarı kaldıran bir stand, bir soğutma pedi ya da birkaç kauçuk ayak bile, hava giriş deliklerine nefes alacak alan tanır — gerçekten en ucuz ve en etkili yükseltmelerden biridir, ve herhangi bir uygulama düzeyindeki çözümden daha güvenilirdir.
Uzun, kapak-kapalı işler için termal izlemeyi açık bırakın; böylece siz uzaktayken ısı belirlediğiniz sınırı aşarsa oturum kendiliğinden sona erebilir. Bu bir güvenlik ağıdır, hava akışının yerini tutmaz — ikisini birlikte kullanın.
LidRun, işinizi kapak kapalıyken, pil ve sıcaklık koruması yerleşik biçimde çalışır tutar.
LidRun zaten sizde mi? Kurulum rehberini okuyun →
LidRun'u yeni mi tanıdınız? Fiyatlara bakın →
Sık sorulanlar
Sürekli yük altında biraz ısınma normaldir. Asıl endişe edilmesi gereken, yükselip yüksek kalan ısıdır, çünkü bu throttling'e ve işin gerçekten yavaşlamasına yol açar. İyi bir hava akışı, sert ve düz bir yüzey ve paralel yükü hafifletmek pratik çözümlerdir — tek bir uygulama değil.
macOS, standart arayüzünün hiçbir yerinde bir Celsius değeri göstermez. En yakın yerleşik teşhis, Terminal'de pmset -g therm komutunu çalıştırıp CPU_Speed_Limit değerini okumaktır — 100, throttling olmadığı anlamına gelir; daha düşük bir değer ise çipin ısıdan dolayı zaten geri çekildiği anlamına gelir. LidRun, aynı temel sinyali menü çubuğunda canlı dört seviyeli bir durum olarak (Normal, Orta, Sıcak, Çok Sıcak) gösterir, böylece komutu kendiniz çalıştırmak zorunda kalmazsınız.
Kendi başlarına hayır — ikisi de ısı üretmez. Risk, yapmadıkları şeyden kaynaklanır: Mac'i sıcaklığı hiç izlemeden uyanık tutarlar; dolayısıyla kapak-kapalı bir işi tıkalı havalandırma delikleri olan bir yerde zorla çalıştırmak için birini kullanırsanız, sıcaklık aşırı yükseldiğinde onu hiçbir şey durdurmaz. Isı riski komuttan değil, kurulumdan kaynaklanır.
Gözetimsiz ve kapak-kapalı işler için evet: kritik bir termal okumada LidRun, sıcak bir işin devam etmesine izin vermek yerine uyanık-tutma bağlantısını hemen bırakır ve Closed-Lid modu açıksa onu da kapatır. Ayrıca mevcut termal durumu her zaman menü çubuğunda görürsünüz. Riski azaltmaya yardımcı olur; bir Mac'in asla aşırı ısınamayacağını vaat etmez.
Hayır. Apple Silicon'da sistem, üçüncü taraf fan kontrolünü kısıtlar, bu yüzden LidRun fanları döndürmez ya da bir RPM belirlemez — hiçbir uygulama bunu dürüstçe vaat edemez. LidRun, donanımı geçersiz kılmaya çalışmak yerine macOS'un bildirdiği termal durumu izler ve ısındığında geri çekilir.
Evet, çoğu yazılımdan daha çok. Dizüstünün arkasını kaldırıp altından hava geçmesini sağlayan bir stand ya da ped, gerçek darboğazı — tıkalı havalandırma delikleri — çözer, onun etrafından dolanmaz. Uzun bir işi daha serin tutmanın en basit ve en güvenilir yollarından biridir.