Apa yang Membuat Mac Anda Tetap Terjaga? Begini Cara Mencari Tahu

Henry AGI
5 menit bacaJun 2026
Apa yang Membuat Mac Anda Tetap Terjaga? Begini Cara Mencari Tahu

Kipas Mac Anda berputar terus dan layar tidak pernah meredup — ada sesuatu yang menahan wake assertion, dan macOS tidak akan tidur sampai itu dilepaskan. Menemukan penyebabnya butuh waktu kurang dari dua menit begitu Anda tahu ke mana harus mencari. Panduan ini membahas tab Energy di Activity Monitor, perintah Terminal yang mendaftar semua power lock yang sedang aktif di sistem, dan apa yang perlu dicek selanjutnya jika perintah itu tidak menampilkan apa-apa.

Cara kerja power assertion di macOS

macOS tidak tidur hanya berdasarkan hitungan mundur waktu. Sebelum meredupkan layar atau menghentikan putaran disk, kernel mengecek apakah ada proses yang sedang berjalan yang menahan power assertion — sebuah permintaan yang diajukan lewat framework manajemen daya IOKit yang memberi tahu sistem bahwa ia perlu tetap terjaga. macOS menghormati permintaan itu sampai prosesnya melepaskannya atau prosesnya berakhir.

Dua jenis assertion ini mencakup sebagian besar perilaku sleep. PreventUserIdleSystemSleep memblokir Mac agar sama sekali tidak tidur — disk, layar, semuanya. PreventUserIdleDisplaySleep hanya menjaga layar tetap menyala dan membiarkan sisa sistem tidur jika memang begitu keadaannya. Download manager, pemutar video, caffeinate yang dijalankan dari Terminal, atau aplikasi keep-awake untuk Mac seperti LidRun bisa menahan salah satu jenis ini, dengan alasan yang berbeda-beda.

Assertion bukan bug — ini fitur yang memang dirancang begitu, dan mekanisme yang sama bisa berlaku ke dua arah. Lock yang menjaga Mac tetap terjaga sepanjang malam menjalankan AI adalah mekanisme yang persis sama dengan yang dipakai tab browser yang terlupakan untuk menjaganya tetap terjaga setelah videonya berhenti diputar. Tujuannya bukan mencurigai setiap assertion; tujuannya adalah mengetahui mana yang memang Anda minta dan mana yang muncul tanpa diundang.

Menggunakan Activity Monitor untuk mencari penyebabnya

Buka Activity Monitor dari Applications → Utilities, atau cari lewat Spotlight. Klik tab Energy. Kolom Preventing Sleep menampilkan Yes atau No untuk setiap proses yang dipantau sistem — klik judul kolom untuk mengurutkan assertion yang aktif ke bagian atas.

LidRun
Activity Monitor Energy tab with the Preventing Sleep column sorted to show which processes are holding the Mac awake
Urutkan tab Energy berdasarkan Preventing Sleep untuk memunculkan wake lock yang aktif ke atas daftar.

Kejutan yang sering muncul di daftar itu: tab browser dengan video yang di-pause, klien cloud-sync yang sedang mengunggah, backup Time Machine yang masih berjalan di latar belakang, aplikasi podcast, atau panggilan video yang tetap terbuka setelah Anda meninggalkan rapat. Klik kanan entri yang mencurigakan dan pilih Inspect Process untuk melihat path binary lengkap serta parent process-nya — biasanya itu sudah cukup menjawab.

Activity Monitor adalah langkah pertama yang cukup andal, tapi ada titik butanya. Tool CLI dan daemon di latar belakang — termasuk caffeinate yang dijalankan dari Terminal — kadang muncul dengan nama generik, atau bahkan tidak muncul sama sekali di daftar. Untuk kasus seperti ini, perintah Terminal di bawah memberikan gambaran yang lebih lengkap.

Panduan terkaitBuat Mac Anda tetap menyala hanya saat benar-benar bekerja

Membaca pmset -g assertions di Terminal

Buka Terminal dan jalankan pmset -g assertions. Outputnya mendaftar setiap power assertion yang aktif di sistem: jenisnya, nama yang mudah dibaca yang diberikan aplikasi, dan process ID yang mengajukannya. Blok ringkasan di bagian atas memisahkannya menjadi Listed (sedang aktif) dan Timed Out (timer-nya sudah habis, tapi aplikasi tidak pernah memanggil release).

LidRun
Terminal output of pmset -g assertions with the Listed and Timed Out blocks and a PID callout highlighted
pmset -g assertions menampilkan semua power lock yang aktif — PID di bagian akhir itulah yang melacaknya kembali ke aplikasi tertentu.

Assertion yang timed out tetap bisa memblokir sleep — prosesnya menetapkan tenggat waktu, tenggat itu sudah lewat, tapi lock-nya sendiri tidak pernah dilepaskan. Jika ada PID di output yang terlihat asing, cocokkan dengan ps aux | grep, diikuti PID tersebut, untuk memastikan proses mana pemiliknya. Sebagian assertion punya timeout yang jelas; sebagian lain tidak terbatas — PreventUserIdleSystemSleep tanpa batas waktu yang ditahan oleh background agent yang macet atau crash membuat Mac tetap terjaga tanpa sebab yang terlihat, dan ini hal pertama yang layak dicek jika mesin sudah menyala jauh lebih lama dari yang diperkirakan.

pmset -g assertions hanya menampilkan apa yang aktif saat ini — tidak punya memori historis. Dua perintah terkait berikut ini menutupi celah itu. pmset -g biasa (tanpa flag assertions) menyertakan baris SleepDisabled — sebuah setelan global yang berbeda, yang diaktifkan sejumlah tool, termasuk mode Closed-Lid milik LidRun sendiri, lewat pmset -a disablesleep alih-alih mengajukan assertion biasa (lebih lanjut soal ini di bagian berikutnya). Dan pmset -g log mencetak linimasa historis peristiwa sleep, wake, dan assertion, berguna kalau Anda ingin tahu apa yang menahan Mac tetap terjaga semalaman, bukan saat ini saja.

Untuk menghentikan assertion CLI seperti caffeinate, cari PID-nya di output pmset lalu jalankan kill diikuti PID tersebut. Menutup sebuah aplikasi juga langsung melepaskan assertion-nya — assertion biasa terikat pada prosesnya, jadi macOS langsung membersihkannya begitu prosesnya berakhir, tanpa perlu langkah pembersihan terpisah. Jika sebuah assertion tidak punya pemilik yang jelas, atau prosesnya sudah crash, restart akan membersihkan semua lock yang masih tertinggal.

Ketika pmset -g assertions tidak menampilkan apa-apa

Kadang pmset -g assertions tidak menampilkan apa pun sama sekali, tapi Mac tetap terasa seperti tidak pernah benar-benar mati — kipas berputar naik-turun, atau layar berkedip menyala tanpa ada aplikasi yang terlihat. Itu biasanya bukan assertion tersembunyi; itu adalah dark wake terjadwal. macOS secara berkala bangun sebentar untuk tugas jaringan — iCloud sync, Find My, Handoff, dan Power Nap — bahkan saat tidak ada yang menahan lock, lalu kembali tidur sendiri beberapa detik kemudian.

Jika Anda ingin menyingkirkan kemungkinan ini, cek System Settings → Battery → Options dan matikan Wake for network access. Ini tidak akan menghentikan assertion yang sungguhan — kalau memang ada yang mengajukan PreventUserIdleSystemSleep, setelan ini tidak akan menyentuhnya — tapi ini menghilangkan noise latar belakang sehingga pengecekan ulang pmset -g assertions lebih mudah dibaca.

Ini juga saat yang tepat untuk mengecek pmset -g biasa dan mencari baris SleepDisabled: 1 seperti yang dijelaskan di atas. Baris ini tidak akan muncul di pmset -g assertions karena bukan assertion — ini setelan sistem yang tetap menyala, paling sering dibiarkan aktif oleh pmset -a disablesleep dari sebuah script, tool pihak ketiga, atau aplikasi (termasuk mode Closed-Lid milik LidRun) yang crash sebelum sempat mematikannya sendiri.

Wake assertion yang disengaja vs yang tidak diinginkan

Tidak semua assertion perlu dihapus. Jika Anda menjalankan sesi Claude Code yang panjang, tugas model lokal, atau agen Cursor semalaman, memang seharusnya ada yang menahan assertion itu — mematikannya berarti juga mematikan pekerjaan Anda. Pertanyaan sebenarnya bukan sekadar 'kenapa Mac saya terjaga?' tapi 'apakah saya yang meminta ini?'

Download manager yang menahan sleep prevention sampai transfer selesai sedang menjalankan tugasnya. Pemutar video yang masih menahannya setelah Anda menutup jendelanya, tidak. Tool yang sengaja Anda konfigurasi — LidRun, caffeinate -i yang dijalankan manual — itu disengaja. Tab browser dengan video yang di-pause dan Anda lupakan, bukan. Bedanya ada pada persetujuan, bukan pada mekanismenya.

Kalau jawabannya 'ya, saya memang mau ini,' Anda sudah punya opsi gratis dan native. caffeinate -i, dijalankan dari Terminal, mengajukan assertion PreventUserIdleSystemSleep yang sama seperti dijelaskan sebelumnya selama perintah itu berjalan — tambahkan -t 3600 untuk batas satu jam. Ini terikat pada prosesnya, jadi menghentikan perintah atau menutup jendela Terminal otomatis melepaskannya. Tapi caffeinate tidak bisa membantu untuk lid yang tertutup — assertion idle-sleep tidak menjangkau clamshell sleep. Satu-satunya opsi gratis di situasi itu adalah sudo pmset -a disablesleep 1, dan perilakunya memang sengaja dibuat berbeda: ini setelan global yang tetap menyala, bukan yang terikat pada proses, jadi tetap bertahan bahkan jika aplikasi yang mengaktifkannya crash, dan tetap aktif sampai ada yang secara eksplisit menjalankan pmset -a disablesleep 0 atau Mac di-restart. Aplikasi menu-bar seperti Amphetamine, KeepingYouAwake, Lungo, dan Caffeine membungkus mekanisme dasar yang sama ke dalam toggle satu-klik, yang jadi pilihan yang cukup bagus kalau Anda hanya butuh saklar manual. Bagaimanapun caranya, tetap saja itu assertion yang sama atau flag disablesleep yang sama di baliknya — itulah sebabnya pmset -g assertions penting untuk dipahami, apa pun tool yang mengajukan lock-nya. Perbandingan LidRun vs caffeinate membahas rincian biaya dan fitur secara lengkap.

Untuk assertion yang ingin Anda pertahankan tapi tetap ingin aman, yang penting adalah guardrail-nya: penghentian otomatis sebelum baterai turun ke level yang berbahaya, kesadaran akan kondisi termal supaya Mac yang panas tidak ditahan terjaga tanpa batas, dan membatasi assertion pada satu tugas saja sehingga terlepas begitu tugas itu selesai, alih-alih mengandalkan ingatan Anda sendiri. Auto Mode milik LidRun menangani pembatasan ini: arahkan ke nama proses — sesi Claude Code, sebuah build, tugas render — dan ia hanya menahan assertion selama proses itu berjalan, lalu langsung melepaskannya begitu prosesnya keluar. Agen berjalan, tetap terjaga; agen selesai, dilepaskan — itulah keseluruhan desainnya, bukan wake lock membabi buta yang dibiarkan menyala sampai seseorang ingat untuk mematikannya. Panduan auto keep-awake, hanya saat sedang bekerja membahas pola itu secara lebih mendalam. Saat memakai baterai, LidRun juga berhenti sendiri di bawah ambang batas — 20% secara default, bisa disesuaikan dari 15% sampai 50% — terlepas dari apa pun yang masih berjalan, dan keluar dari mode Closed-Lid begitu sistem melaporkan tekanan termal kritis (dengan peringatan di tahap serius sebelum itu), karena lid yang tertutup memblokir jalur pendinginan utama Mac dan tidak ada otomasi yang seharusnya membiarkannya tetap tertutup saat sedang overheating.

Kalau penyebabnya memang tidak diinginkan, menutup aplikasinya langsung menyelesaikan masalah. Jika proses yang sama terus muncul lagi setelah restart, cek System Settings → General → Login Items dan Background Items untuk mencari agen yang disetel untuk berjalan otomatis. Menghapus atau menonaktifkan login item itu menghentikan siklusnya dari sumbernya.

Coba ini ketimbang melawan tidur saat layar tertutup

LidRun menjaga pekerjaan Anda tetap jalan saat layar tertutup, dengan perlindungan baterai dan suhu bawaan.

Unduh untuk macOS

Sudah punya LidRun? Baca panduan setup-nya →

Baru kenal LidRun? Lihat harga →

Sering ditanyakan

Bagaimana cara mengecek apa yang membuat Mac saya tetap terjaga?

Buka Terminal dan jalankan pmset -g assertions. Outputnya mendaftar setiap power assertion yang aktif, aplikasi yang mengajukannya, dan jenis assertion-nya. Untuk pendekatan visual, buka Activity Monitor, klik tab Energy, dan urutkan berdasarkan kolom Preventing Sleep untuk melihat proses mana yang menahan wake lock.

Apa arti output dari pmset -g assertions?

Setiap baris menampilkan jenis assertion seperti PreventUserIdleSystemSleep, nama yang diberikan aplikasi, dan process ID-nya. Blok ringkasan di bagian atas memisahkan assertion yang aktif (Listed) dari yang timer-nya sudah habis tapi lock-nya tidak pernah dilepaskan (Timed Out). Keduanya bisa memblokir sleep, dan PID-nya memungkinkan Anda melacak masing-masing kembali ke proses sumbernya. Namun, perintah ini hanya menampilkan assertion — ada setelan global terpisah bernama SleepDisabled (terlihat di pmset -g biasa) yang juga bisa membuat Mac tetap terjaga dan tidak akan muncul di daftar ini.

Bisakah download membuat Mac saya tidak tidur?

Bisa. macOS dan banyak download manager pihak ketiga mengajukan assertion PreventUserIdleSystemSleep selama transfer berlangsung supaya Mac tidak tidur dan mengganggu prosesnya. Begitu download selesai, assertion-nya dilepaskan dan perilaku sleep normal kembali berjalan.

Bagaimana cara melepaskan wake assertion dari aplikasi tertentu?

Menutup aplikasinya langsung melepaskan assertion-nya. Untuk proses CLI seperti caffeinate, cari PID-nya di output pmset -g assertions lalu jalankan kill diikuti PID tersebut. Untuk daemon sistem atau background agent, cek Login Items di System Settings → General dan nonaktifkan atau hapus itemnya supaya berhenti berjalan lagi otomatis.

Kenapa pmset -g assertions tidak menampilkan apa pun padahal Mac saya tidak mau tidur sepenuhnya?

Itu biasanya dark wake terjadwal, bukan assertion tersembunyi. macOS secara berkala bangun sebentar untuk iCloud sync, Find My, Handoff, dan Power Nap, lalu kembali tidur sendiri beberapa detik kemudian. Matikan Wake for network access di System Settings → Battery → Options untuk menyingkirkan kemungkinan ini. Jika Mac benar-benar sama sekali tidak tidur, cek juga pmset -g biasa untuk mencari baris SleepDisabled: 1 — itu setelan global terpisah, biasanya dibiarkan aktif oleh pmset -a disablesleep, yang tidak muncul di pmset -g assertions.

Apakah Time Machine membuat Mac saya tetap terjaga?

Ya, selama backup sedang berjalan aktif. Time Machine mengajukan assertion sleep-prevention supaya backup yang sedang berlangsung tidak terganggu, dan itu muncul baik di tab Energy Activity Monitor maupun pmset -g assertions selama proses penyalinan file berlangsung. Begitu backup selesai, assertion-nya dilepaskan secara otomatis.

Penasaran apakah LidRun cocok untuk Anda?

Biarkan ChatGPT, Claude, atau Perplexity yang mencari tahu — klik di bawah dan lihat pendapat AI tentang LidRun.