Apa yang Membuat Mac Anda Tetap Aktif? Begini Cara Menemukannya

Kipas Mac Anda berputar dan layar tidak pernah redup — sesuatu memegang power assertion dan macOS tidak akan tidur sampai itu dilepaskan. Menemukan penyebabnya membutuhkan waktu kurang dari dua menit, begitu Anda tahu di mana mencari. Panduan ini menjelaskan tab Energy di Activity Monitor dan perintah Terminal yang menampilkan setiap power lock aktif di sistem.
Bagaimana power assertions di macOS bekerja
macOS tidak tidur hanya berdasarkan timer hitung mundur. Sebelum meredupkan display atau menghentikan disk, kernel memeriksa apakah proses yang berjalan memegang power assertion — permintaan programatik yang diajukan melalui IOKit power management framework yang mengatakan mesin harus tetap aktif. macOS menghormati permintaan itu sampai proses melepasnya atau proses berakhir.
Dua tipe assertion mengontrol sebagian besar perilaku tidur. PreventUserIdleSystemSleep memblokir Mac agar tidak tidur sama sekali — disk, display, semuanya. PreventUserIdleDisplaySleep menjaga layar tetap menyala tetapi membiarkan sisa sistem tidur jika dipilih. Pengelola unduhan, pemutar video, caffeinate yang dijalankan dari Terminal, atau alat seperti LidRun dapat memegang salah satu tipe, untuk alasan yang berbeda.
Assertions bukan bug; mereka adalah fitur yang dirancang. Mekanisme yang sama yang menjaga mesin tetap aktif selama run AI malam hari adalah mekanisme yang sama yang digunakan tab browser yang terlupakan untuk membuat Mac Anda tetap aktif setelah Anda berhenti menonton video. Tujuannya adalah mengetahui assertion mana yang Anda minta dan mana yang datang tanpa diundang.
Menggunakan Activity Monitor untuk menemukan penyebabnya
Buka Activity Monitor dari Applications → Utilities, atau cari dengan Spotlight. Klik tab Energy. Kolom berlabel Preventing Sleep menampilkan Yes atau No untuk setiap proses yang dilacak sistem — urutkan berdasarkan itu untuk mendorong assertions aktif ke atas.
Kejutan umum dalam daftar itu: tab browser yang memutar video yang dijeda, klien sync cloud sedang mengunggah, aplikasi podcast, atau alat konferensi video yang menjaga sesi tetap terbuka setelah Anda meninggalkan panggilan. Klik kanan entri apa pun yang mencurigakan dan pilih Inspect Process untuk melihat path biner lengkap dan proses induknya — itu biasanya membuat pelakunya jelas.
Activity Monitor adalah pass pertama yang baik, tetapi memiliki keterbatasan. Alat CLI dan daemon latar belakang — termasuk caffeinate yang diluncurkan dari Terminal — mungkin muncul di bawah nama proses generik atau tidak muncul sama sekali. Untuk itu, perintah Terminal di bawah memberikan gambaran yang lebih lengkap.
Panduan terkaitJaga Mac tetap aktif hanya saat benar-benar bekerjaMembaca pmset -g assertions di Terminal
Buka Terminal dan jalankan pmset -g assertions. Output menampilkan setiap power assertion aktif di sistem: tipe assertion, nama yang dapat dibaca manusia yang diberikan aplikasi, dan ID proses yang mengajukannya. Blok ringkasan di atas mengelompokkan mereka menjadi Listed (saat ini aktif) dan Timed Out (timer sudah habis tetapi aplikasi belum memanggil release).
Assertion yang time-out masih dapat memblokir tidur — proses mengajukannya, clock berjalan, tetapi lock tidak pernah dilepaskan. Jika Anda melihat PID dalam output yang terlihat tidak familiar, cross-reference dengan ps aux | grep diikuti nomor PID untuk mengkonfirmasi nama proses.
Untuk menghentikan CLI assertion seperti caffeinate, temukan PID-nya dalam output pmset dan jalankan kill diikuti PID itu di Terminal. Untuk assertions berbasis aplikasi, menutup aplikasi melepaskannya segera. Jika assertion tidak menunjukkan pemilik yang jelas atau proses sudah crash, reboot menghapus semua locks yang tertunda.
Beberapa assertions memiliki timeout eksplisit; yang lain tidak terbatas. PreventUserIdleSystemSleep yang tidak terbatas yang dipegang oleh agent latar belakang yang frozen atau crash membuat Mac tetap aktif tanpa penyebab yang terlihat. Jika mesin Anda tetap aktif untuk waktu yang tidak terduga lama, ini adalah hal pertama yang perlu diperiksa.
Intentional vs unwanted wake assertions
Tidak setiap assertion perlu dihapus. Jika Anda menjalankan sesi Claude Code yang panjang, pekerjaan model lokal, atau agent Cursor semalaman, sesuatu harus memegang assertion itu — menghentikannya akan membunuh pekerjaan Anda. Pertanyaan yang tepat bukan hanya 'mengapa Mac saya tetap aktif?' tetapi 'apakah saya meminta ini?'
Pengelola unduhan yang memegang sleep prevention hingga transfer selesai melakukan hal yang benar. Pemutar video yang memegangnya setelah Anda menutup window tidak. Alat yang Anda konfigurasi secara eksplisit — LidRun, caffeinate -i dijalankan dengan tangan — adalah intentional. Tab browser dengan video yang dijeda yang Anda lupakan tidak. Perbedaannya adalah persetujuan, bukan mekanismenya.
Untuk holds yang long-running dan intentional, guardrails penting: auto-stop pada battery rendah, kesadaran ambang thermal, dan scoping assertion ke proses tertentu sehingga dilepaskan otomatis saat pekerjaan selesai. Mode process-watch LidRun menangani ini — ia memegang assertion hanya saat proses bernama sedang berjalan, lalu melepaskan tanpa Anda harus ingat untuk menghentikannya. Pola itu tercakup secara detail dalam panduan auto-keep-awake-only-while-working.
Ketika culprit tidak diinginkan, menutup aplikasi memperbaikinya segera. Jika proses yang sama terus muncul kembali setelah restart, periksa System Settings → General → Login Items dan Background Items untuk agent yang diatur untuk diluncurkan otomatis. Menghapus atau menonaktifkan login item menghentikan siklus di sumbernya.
Fitur dari the safe AI workload layer for Mac.
LidRun menjaga pekerjaan Anda tetap jalan saat layar tertutup, dengan perlindungan baterai dan suhu bawaan.
Sering ditanyakan
Buka Terminal dan jalankan pmset -g assertions. Output menampilkan setiap power assertion aktif, aplikasi yang mengajukannya, dan tipe assertion. Untuk pendekatan visual, buka Activity Monitor, klik tab Energy, dan urutkan berdasarkan kolom Preventing Sleep untuk melihat proses mana yang memegang power lock.
Setiap baris menampilkan tipe assertion seperti PreventUserIdleSystemSleep, nama yang diberikan aplikasi, dan ID proses. Blok ringkasan di atas memisahkan assertions aktif (Listed) dari yang timernya sudah habis tetapi locknya belum dilepaskan (Timed Out). Kedua grup dapat memblokir tidur, dan PID memungkinkan Anda melacak setiap satu kembali ke proses sumbernya.
Ya. macOS dan banyak pengelola unduhan pihak ketiga mengajukan assertion PreventUserIdleSystemSleep saat transfer sedang berlangsung sehingga Mac tidak tidur dan mengganggu file. Setelah unduhan selesai, assertion dilepaskan dan perilaku tidur normal dilanjutkan.
Menutup aplikasi melepaskan assertionsnya segera. Untuk proses CLI seperti caffeinate, temukan PID-nya dalam output pmset -g assertions dan jalankan kill diikuti PID itu di Terminal. Untuk daemon sistem atau agent latar belakang, periksa Login Items di System Settings → General dan nonaktifkan atau hapus item sehingga berhenti diluncurkan kembali.