Mac'inizi Neyin Uyanık Tuttuğunu Bulmanın Yolu

Mac'inizin fanları dönüyor, ekran hiç kararmıyor — bir şey bir uyanık kalma kilidi tutuyor ve o kilit bırakılmadan macOS uykuya geçmiyor. Nedenini bulmak, nereye bakacağınızı bildiğinizde iki dakikadan az sürer. Bu rehber, Etkinlik İzleyicisi'nin Enerji sekmesini, sistemdeki tüm aktif güç kilitlerini listeleyen Terminal komutunu ve o komut boş dönerse sırada neyin kontrol edileceğini adım adım anlatıyor.
macOS güç kilitleri nasıl çalışır
macOS sadece geri sayıma bakarak uykuya geçmez. Ekranı karartmadan veya diski durdurmadan önce çekirdek, çalışan herhangi bir sürecin güç kilidi tutup tutmadığını kontrol eder — bu, IOKit güç yönetimi çerçevesi üzerinden dosyalanan ve sisteme uyanık kalması gerektiğini bildiren bir taleptir. macOS bu talebi, süreç onu bırakana ya da süreç sona erene kadar geçerli sayar.
Uyku davranışının çoğunu iki kilit türü belirler. PreventUserIdleSystemSleep, Mac'in tamamen uykuya geçmesini engeller — disk, ekran, her şey. PreventUserIdleDisplaySleep ise yalnızca ekranı açık tutar, sistemin geri kalanı isterse uykuya geçebilir. Bir indirme yöneticisi, bir video oynatıcı, Terminal'den çalıştırılan caffeinate ya da LidRun gibi bir Mac uyanık tutma uygulaması, farklı nedenlerle bu iki türden birini tutabilir.
Kilitler bir hata değil — bilinçli olarak tasarlanmış bir özellik, ve aynı mekanizma iki yönlü de işler. Bir Mac'i gece boyu süren bir yapay zeka işi boyunca uyanık tutan kilit ile videosu durduktan sonra unutulmuş bir tarayıcı sekmesinin Mac'i uyanık tutan kilidi, aslında birebir aynı mekanizmadır. Amaç her kilide şüpheyle yaklaşmak değil; hangisini siz istediğinizi, hangisinin davetsiz geldiğini bilmek.
Nedeni bulmak için Etkinlik İzleyicisi'ni kullanma
Etkinlik İzleyicisi'ni Uygulamalar → Yardımcı Programlar'dan açın, ya da Spotlight ile bulun. Enerji sekmesine tıklayın. Uykuyu Önleme sütunu, sistemin izlediği her süreç için Evet ya da Hayır gösterir — aktif kilitleri en üste sıralamak için sütun başlığına tıklayın.


O listede sık karşılaşılan sürprizler: duraklatılmış videolu bir tarayıcı sekmesi, yükleme yapan bir bulut senkronizasyon istemcisi, arka planda hâlâ çalışan bir Time Machine yedeklemesi, bir podcast uygulaması ya da toplantıdan çıktıktan sonra açık kalmış bir görüntülü görüşme. Şüpheli bir satıra sağ tıklayıp İşlemi İncele'yi seçtiğinizde tam ikili dosya yolunu ve üst süreci görebilirsiniz — bu genelde konuyu netleştirir.
Etkinlik İzleyicisi ilk bakış için yeterli, ama kör noktaları var. CLI araçları ve arka plan daemon'ları — Terminal'den başlatılan caffeinate dahil — bazen genel bir isim altında görünür, bazen de listede hiç yer almaz. Bunlar için aşağıdaki Terminal komutu daha tam bir tablo verir.
İlgili kılavuzMac'inizi yalnızca gerçekten çalışırken uyanık tutunTerminal'de pmset -g assertions çıktısını okumak
Terminal'i açın ve pmset -g assertions komutunu çalıştırın. Çıktı, sistemdeki tüm aktif güç kilitlerini listeler: türü, uygulamanın verdiği okunaklı ismi ve onu dosyalayan süreç kimliğini (PID). Üstteki özet bloğu bunları Listed (şu anda aktif) ve Timed Out (zamanlayıcı çaldı ama uygulama release'i hiç çağırmadı) olarak ikiye ayırır.


Süresi dolmuş (timed-out) bir kilit yine de uykuyu engelleyebilir — süreç bir son tarih belirlemiş, o tarih geçmiş, ama kilidin kendisi hiç bırakılmamış. Çıktıdaki bir PID tanıdık gelmiyorsa, hangi sürece ait olduğunu doğrulamak için ps aux | grep komutunu o PID ile birlikte çalıştırın. Bazı kilitlerde açık bir zaman aşımı vardır; bazıları süresizdir — donmuş ya da çökmüş bir arka plan ajanının tuttuğu süresiz bir PreventUserIdleSystemSleep, Mac'i görünürde hiçbir neden yokken uyanık tutar, ve makine beklenenden çok daha uzun süredir açıksa kontrol edilmesi gereken ilk şey budur.
pmset -g assertions yalnızca şu anda aktif olanı gösterir — hafızası yoktur. İki ilgili komut bu boşlukları kapatır. Sade pmset -g (assertions bayrağı olmadan) bir SleepDisabled satırı içerir — bazı araçların ve LidRun'ın kendi Closed-Lid modunun, normal bir kilit dosyalamak yerine pmset -a disablesleep ile açıp kapattığı, farklı ve global bir ayar (bir sonraki bölümde daha fazlası var). pmset -g log ise uyku, uyanma ve kilit olaylarının geçmiş bir zaman çizelgesini yazdırır — şu anı değil, Mac'i gece boyu neyin uyanık tuttuğunu öğrenmek istediğinizde işinize yarar.
caffeinate gibi bir CLI kilidini durdurmak için pmset çıktısındaki PID'i bulun ve kill komutunu o PID ile çalıştırın. Bir uygulamadan çıkmak da kilitlerini anında bırakır — normal kilitler sürece bağlıdır, yani macOS süreç sona erer ermez onları temizler, ayrı bir temizlik adımına gerek kalmaz. Bir kilidin sahibi belirsizse ya da süreci zaten çökmüşse, yeniden başlatmak bekleyen tüm kilitleri temizler.
pmset -g assertions boş döndüğünde
Bazen pmset -g assertions hiçbir şey döndürmez, ama Mac yine de hiç tam kapanmıyormuş gibi hissettirir — fan hızlanıp yavaşlar, ya da ortada hiçbir uygulama yokken ekran anlık yanar. Bu genelde gizli bir kilit değildir; zamanlanmış bir karanlık uyanmadır (dark wake). macOS, hiçbir şey kilit tutmasa bile iCloud senkronizasyonu, Find My, Handoff ve Power Nap gibi ağ görevleri için düzenli olarak kısa süreliğine uyanır, sonra birkaç saniye içinde kendiliğinden tekrar uykuya döner.
Bunu ekarte etmek isterseniz Sistem Ayarları → Pil → Seçenekler'e gidip Ağ erişimi için uyandır seçeneğini kapatın. Bu, gerçek bir kilidi durdurmaz — bir şey gerçekten PreventUserIdleSystemSleep dosyalıyorsa bu ayar onu etkilemez — ama arka plan gürültüsünü kaldırır, böylece tekrar çalıştıracağınız bir pmset -g assertions kontrolü daha okunaklı olur.
Bu aynı zamanda, yukarıda anlatılan SleepDisabled: 1 satırı için sade pmset -g'yi kontrol etme anıdır. Bu satır pmset -g assertions altında görünmez, çünkü bir kilit değildir — kendini kapatamadan çöken bir betik, üçüncü taraf bir araç ya da bir uygulamanın (LidRun'ın Closed-Lid modu dahil) pmset -a disablesleep ile açık bıraktığı, kalıcı bir sistem ayarıdır.
İstenen ve istenmeyen uyanık kalma kilitleri
Her kilidin kaldırılması gerekmez. Uzun bir Claude Code oturumu, yerel bir model işi ya da gece boyu çalışan bir Cursor ajanı yürütüyorsanız, bir şeyin o kilidi tutuyor olması gerekir — onu sonlandırmak işinizi de sonlandırır. Asıl soru sadece 'Mac'im neden uyanık?' değil, 'bunu ben mi istedim?' sorusudur.
Bir aktarım bitene kadar uyku engelini tutan bir indirme yöneticisi işini yapıyordur. Pencereyi kapattıktan sonra da tutmaya devam eden bir video oynatıcı ise değil. Bilerek yapılandırdığınız bir araç — LidRun, elle çalıştırılan caffeinate -i — kasıtlıdır. Unuttuğunuz, videosu duraklatılmış bir tarayıcı sekmesi değildir. Buradaki ayrım mekanizma değil, rızadır.
'Evet, bunu istiyorum' sonucuna vardıysanız, zaten ücretsiz ve yerleşik seçenekleriniz var. Terminal'den çalıştırılan caffeinate -i, komut çalıştığı sürece daha önce anlatılan aynı PreventUserIdleSystemSleep kilidini dosyalar — bir saatlik bir üst sınır için -t 3600 ekleyin. Sürece bağlıdır, yani komutu sonlandırmak ya da Terminal penceresini kapatmak kilidi otomatik olarak bırakır. Ancak caffeinate kapalı kapak konusunda işe yaramaz — bir idle-sleep kilidi clamshell uykusuna ulaşmaz. Oradaki tek ücretsiz kaldıraç sudo pmset -a disablesleep 1'dir, ve bu bilerek farklı davranır: sürece bağlı değil, global ve kalıcı bir ayardır, bu yüzden onu açan uygulama çökse bile hayatta kalır ve biri açıkça pmset -a disablesleep 0 çalıştırana ya da Mac yeniden başlayana kadar açık kalır. Amphetamine, KeepingYouAwake, Lungo ve Caffeine gibi menü çubuğu uygulamaları aynı temel mekanizmayı tek tıkla açılıp kapanan bir anahtara sarar — tek istediğiniz manuel bir düğmeyse gayet iyi bir seçimdir. Hangisini seçerseniz seçin, altta yatan hâlâ aynı kilit ya da aynı disablesleep bayrağıdır — pmset -g assertions'ı bilmenin, kilidi hangi aracın dosyaladığından bağımsız olarak değerli olmasının nedeni de tam olarak budur. LidRun ile caffeinate karşılaştırması tam maliyet ve özellik karşılaştırmasını ele alıyor.
Tutmaya devam etmek istediğiniz ama güvenli tutmak istediğiniz bir kilit için önemli olan koruma önlemleridir: pil tehlikeli seviyeye düşmeden önce otomatik durma, sıcak bir Mac'in sonsuza kadar uyanık tutulmaması için termal duruma dikkat etme, ve kilidi tek bir göreve sınırlandırıp o görev bittiği anda hafızaya güvenmeden serbest bırakma. LidRun'ın Auto Mode'u bu sınırlandırmayı yönetir: bir süreç adı belirtin — bir Claude Code oturumu, bir build, bir render işi — ve kilit yalnızca o süreç çalışırken tutulur, süreç sona erdiği anda da bırakılır. Ajan çalışıyor, uyanık kal; ajan bitti, bırak — tasarımın tamamı bu, birinin kapatmayı hatırlamasını bekleyen körlemesine bir uyanık kalma kilidi değil. Sadece çalışırken otomatik uyanık kalma rehberi bu deseni ayrıntılı olarak ele alıyor. Pilde çalışırken LidRun, hâlâ ne çalışıyor olursa olsun bir eşiğin altında — varsayılan olarak %20, %15 ile %50 arasında ayarlanabilir — kendini durdurur, ve sistem kritik termal baskı bildirdiğinde (öncesinde ciddi aşamada bir uyarıyla) Closed-Lid modundan çıkar, çünkü kapalı bir kapak Mac'in ana soğutma yolunu engeller ve hiçbir otomasyon, Mac aşırı ısınırken kapağı kapalı tutmamalıdır.
Suçlu istenmeyen bir şeyse, uygulamadan çıkmak sorunu anında çözer. Aynı süreç yeniden başlatmadan sonra tekrar tekrar ortaya çıkıyorsa, otomatik başlayacak şekilde ayarlanmış ajanlar için Sistem Ayarları → Genel → Oturum Açma Öğeleri ve Arka Plan Öğeleri'ni kontrol edin. Oturum açma öğesini kaldırmak ya da devre dışı bırakmak döngüyü kaynağında durdurur.
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
Terminal'i açın ve pmset -g assertions komutunu çalıştırın. Çıktı, tüm aktif güç kilitlerini, onları dosyalayan uygulamayı ve kilit türünü listeler. Görsel bir yaklaşım için Etkinlik İzleyicisi'ni açın, Enerji sekmesine tıklayın ve hangi süreçlerin uyanık kalma kilidi tuttuğunu görmek için Uykuyu Önleme sütununa göre sıralayın.
Her satır, PreventUserIdleSystemSleep gibi bir kilit türünü, uygulamanın verdiği ismi ve bir süreç kimliğini (PID) gösterir. Üstteki özet bloğu, aktif kilitleri (Listed) ile zamanlayıcısı çalmış ama kilidi hiç bırakılmamış olanları (Timed Out) birbirinden ayırır. İkisi de uykuyu engelleyebilir, ve PID her birini kaynağı olan sürece kadar izlemenizi sağlar. Ancak bu komut yalnızca kilitleri gösterir — SleepDisabled adlı ayrı, global bir ayar (sade pmset -g çıktısında görünür) de Mac'i uyanık tutabilir ve bu listede görünmez.
Evet. macOS ve birçok üçüncü taraf indirme yöneticisi, bir aktarım devam ederken Mac uykuya geçip aktarımı kesmesin diye bir PreventUserIdleSystemSleep kilidi dosyalar. İndirme bittiğinde kilit bırakılır ve normal uyku davranışı geri döner.
Uygulamadan çıkmak, kilitlerini anında bırakır. caffeinate gibi bir CLI süreci için, pmset -g assertions çıktısında PID'ini bulun ve kill komutunu o PID ile çalıştırın. Bir sistem daemon'u ya da arka plan ajanı için, Sistem Ayarları → Genel altındaki Oturum Açma Öğeleri'ni kontrol edin ve öğeyi tekrar başlamaması için devre dışı bırakın ya da kaldırın.
Bu genelde gizli bir kilit değil, zamanlanmış bir karanlık uyanmadır (dark wake). macOS, iCloud senkronizasyonu, Find My, Handoff ve Power Nap için düzenli olarak kısa süreliğine uyanır, sonra birkaç saniye içinde kendiliğinden tekrar uykuya döner. Bunu ekarte etmek için Sistem Ayarları → Pil → Seçenekler'de Ağ erişimi için uyandır seçeneğini kapatın. Mac gerçekten hiç uykuya geçmiyorsa, sade pmset -g çıktısında bir SleepDisabled: 1 satırı olup olmadığını da kontrol edin — bu, genelde pmset -a disablesleep ile açık bırakılan, pmset -g assertions altında görünmeyen ayrı bir global ayardır.
Evet, bir yedekleme aktif olarak çalışırken. Time Machine, devam eden bir yedekleme kesintiye uğramasın diye bir uyku engelleme kilidi dosyalar; dosyaları kopyalarken bu kilit hem Etkinlik İzleyicisi'nin Enerji sekmesinde hem de pmset -g assertions çıktısında görünür. Yedekleme bittiğinde kilit otomatik olarak bırakılır.