ReportCrash Menguras CPU di Mac

ReportCrash Menguras CPU di Mac

David Balaban

Apa itu ReportCrash di Mac?

Di macOS, ReportCrash adalah penanganan kerusakan (crash handler) bawaan yang beroperasi di bawah proses induk "launchd". Kapan pun aplikasi atau proses latar belakang mati secara tak terduga, komponen ini bangun, memeriksa apa yang terjadi, dan menulis laporan diagnostik ke disk sehingga pengembang (dan terkadang Anda) dapat melihat apa yang salah.

ReportCrash CPU drain on Mac

Secara teknis, ReportCrash berjalan dalam dua jenis:

  • sebagai LaunchAgent untuk proses tingkat pengguna, menulis laporan ke folder
    ~/Library/Logs/DiagnosticReports/ Anda;
  • sebagai LaunchDaemon untuk proses sistem dan yang dimiliki root, menyimpan laporan di direktori log diagnostik seluruh sistem.

Dalam versi macOS terbaru, dialog "aplikasi berhenti secara tak terduga, kirim ke Apple?" yang familiar adalah bagian dari tumpukan pelaporan yang lebih luas dengan Problem Reporter sebagai ujung depan yang terlihat dan ReportCrash melakukan sebagian besar pekerjaan berat di belakang layar.

Dalam keadaan normal, Anda hampir tidak menyadari aktivitas ini. Aplikasi crash, ReportCrash masuk sebentar, menulis log, dan keluar. Penggunaan CPU melonjak sesaat dan kemudian turun kembali ke nol. Begitulah seharusnya cara kerjanya.


Mengapa ReportCrash bisa memonopoli CPU

Saat Anda melihat ReportCrash memakan 50-300% CPU (pada sistem multi-core) dan terus muncul kembali di Monitor Aktivitas (Activity Monitor), hampir tidak pernah menjadi penyebab sebenarnya. Itu hanya pembawa pesan. Masalah sebenarnya adalah hal lain yang terus mengalami crash dalam putaran yang ketat.

Pola umumnya adalah:

  1. Sebuah proses diluncurkan.
  2. Ia crash hampir seketika.
  3. launchd memulai ulangnya.
  4. ReportCrash bangun untuk memproses kegagalan lain.
  5. Ini berulang tanpa henti.

ReportCrash activity monitor macOS

Karena membuat dan mengompresi laporan kerusakan bukanlah pekerjaan sepele, proses yang terjebak dalam loop ini dapat membuat ReportCrash sibuk sepanjang waktu. Banyak laporan pengguna di forum dan situs tanya jawab menunjukkan cerita yang sama: penggunaan CPU ReportCrash yang tinggi dan persisten hampir selalu berkorelasi dengan agen latar belakang, ekstensi, atau kerangka kerja yang tidak berhenti crash dan diluncurkan kembali.

Penyebab umum yang mendasarinya meliputi:

  • Daemon sinkronisasi dan pengindeksan (misalnya, kontak, saran, atau layanan terkait pencarian) yang tersedak oleh data yang rusak;
  • Aplikasi bilah menu atau pembantu pihak ketiga yang rusak setelah pembaruan macOS;
  • Sisa aplikasi yang dihapus yang LaunchAgents atau LaunchDaemons-nya terus memulai binari yang tidak ada lagi;
  • Alat pengembang atau simulator (Xcode, simulator iOS, dll.) di mana komponen crash berulang kali selama pengujian.

Singkatnya, ReportCrash berisik karena ada hal lain yang sakit. Tujuannya adalah menemukan "sesuatu" itu, memperbaiki atau menghapusnya, dan baru kemudian mempertimbangkan untuk menyentuh ReportCrash itu sendiri.

Ngomong-ngomong, pola ini sangat mirip dengan cerita CPU tinggi lainnya yang telah saya bahas yang melibatkan chronod, contactsd, syspolicyd, dan wdavdaemon – pekerja latar belakang kecil yang keluar jalur dan menyeret kinerja sistem bersamanya.


Cara memperbaiki penggunaan CPU ReportCrash tinggi di Mac

Langkah 1. Identifikasi apa yang crash dalam loop

Jika Anda hanya melakukan satu hal, lakukan ini. Anda perlu tahu proses mana yang menyeret ReportCrash ke mode berlebihan.

  1. Buka Konsol (Console)
    • Tekan Command–Spasi, ketik Console, dan tekan Return.
  2. Di bilah sisi, cari Laporan Kerusakan (Crash Reports) (atau gunakan bagian "Crash Reports" di bawah "Reports").
  3. Urutkan berdasarkan Tanggal (Date) dan periksa entri terbaru:
    • Anda mungkin akan melihat nama proses yang sama diulang berkali-kali dalam waktu singkat.
  4. Jika Laporan Kerusakan terlihat kosong, beralihlah ke:
    • system.log atau Semua Pesan (All Messages), lalu cari istilah seperti crash, Service only

Crash Reports

Catat:

  • nama proses yang bermasalah (misalnya, suggestd, aplikasi bilah menu, beberapa pembantu),
  • jalurnya jika terlihat, dan
  • kira-kira seberapa sering ia crash.

Ini adalah tersangka utama Anda.


Langkah 2. Hapus atau perbaiki aplikasi atau komponen yang bermasalah

Setelah Anda tahu apa yang crash, solusi terbaik biasanya adalah memperbarui, mengatur ulang, atau menghapus instalasi item tertentu itu.

  1. Jika itu adalah aplikasi biasa yang Anda kenal dan gunakan:
    • Keluar darinya jika sedang berjalan.
    • Periksa pembaruan di menunya (seringkali NamaAplikasi ▸ Periksa Pembaruan) atau melalui App Store.
    • Jika crash berlanjut, coba instal ulang bersih:
      • Seret aplikasi dari Aplikasi ke Sampah.
      • Mulai ulang.
      • Unduh salinan baru dari sumber resmi dan instal ulang.
  2. Jika itu adalah aplikasi yang tidak lagi Anda pedulikan:
    • Di Aplikasi, hapus bersama dengan alat bantu yang jelas (uninstaller, updater).
    • Kemudian periksa komponen sisa di:
      • ~/Library/Application Support/
      • ~/Library/LaunchAgents/
      • /Library/LaunchDaemons/
    • Hapus hanya item yang jelas terkait dengan aplikasi itu (cocok dengan nama atau vendornya).

Delete offending items

  1. Jika itu adalah layanan sistem (misal, suggestd, terkait kontak, atau sinkronisasi iCloud):
    • Nonaktifkan sementara fitur terkait:
      • Matikan akun bermasalah di Pengaturan Sistem ▸ Akun Internet.
      • Alihkan layanan seperti Kontak iCloud, Saran Siri & Spotlight, atau item serupa menjadi mati, tunggu sebentar, lalu nyalakan kembali.
    • Jika badai CPU mereda setelah menonaktifkan akun atau fitur tertentu, kemungkinan disitulah data buruk berada.

iCloud Contacts

Idenya sederhana: jika hal yang terus crash hilang atau mulai berperilaku baik, ReportCrash tidak lagi memiliki alasan untuk berjalan tanpa henti.


Langkah 3. Bersihkan log kerusakan dan diagnostik yang terlalu besar

Bahkan setelah Anda menjinakkan loop crash, sistem mungkin dipenuhi dengan ribuan laporan kerusakan lama. Mereka biasanya tidak menyebabkan lonjakan CPU sendiri, tetapi mereka membuang ruang disk dan dapat membuat analisis menjadi bising.

Anda dapat memangkasnya dengan aman sebagai berikut:

  1. Di Finder, tekan Shift–Command–G untuk membuka Buka Folder…
  2. Kunjungi lokasi ini satu per satu:
    • ~/Library/Logs/DiagnosticReports/
    • /Library/Logs/DiagnosticReports/ (Anda mungkin memerlukan hak admin)
  3. Pindahkan file .crash dan .panic yang lebih lama ke Sampah (atau folder arsip jika Anda ingin cadangan).
  4. Kosongkan Sampah saat Anda yakin semuanya stabil.

DiagnosticReports

Ini tidak akan secara langsung menghentikan penggunaan CPU ReportCrash jika penyebab utamanya tetap ada, tetapi ini menjaga Mac Anda tetap rapi dan dapat sedikit mengurangi I/O latar belakang.


Langkah 4. Nonaktifkan item login dan pembantu latar belakang yang bermasalah

Skenario yang sangat umum adalah item login atau LaunchAgent untuk aplikasi yang sudah lama terlupakan mencoba memulai sesuatu yang tidak ada lagi. Biner itu gagal diluncurkan dengan benar, crash seketika, dan ReportCrash dibanjiri spam.

Lakukan pembersihan berikut:

  1. Periksa Item Login
    • Pergi ke Pengaturan Sistem ▸ Umum ▸ Item Login.
    • Di bawah Buka saat Masuk dan Izinkan di Latar Belakang, nonaktifkan item yang tidak Anda kenali atau tidak lagi Anda gunakan.
    • Periksa LaunchAgents dan LaunchDaemons
      Di Finder, gunakan Buka ▸ Buka Folder… dan lihat di:
    • ~/Library/LaunchAgents/
    • /Library/LaunchAgents/
    • /Library/LaunchDaemons/
  2. Untuk setiap folder:
    • Urutkan berdasarkan Nama dan cari item yang jelas milik aplikasi yang dihapus instalasinya.
    • Pindahkan file .plist yang mencurigakan ke folder sementara di Desktop Anda alih-alih menghapusnya langsung.
    • Mulai ulang dan perhatikan Monitor Aktivitas untuk melihat apakah ReportCrash menjadi tenang.

LaunchDaemons

Jika semuanya berfungsi dengan baik selama beberapa hari, Anda dapat menghapus file .plist karantina tersebut dengan aman. Jika ada hal penting yang rusak, kembalikan.


Langkah 5. Uji dalam Mode Aman

Mode Aman adalah cara cepat untuk mengetahui apakah komponen pihak ketiga terlibat. Dalam mode diagnostik ini, macOS hanya memuat ekstensi penting dan menonaktifkan sebagian besar item login dan LaunchAgents.

  1. Matikan Mac Anda.
  2. Nyalakan dan tahan tombol yang sesuai untuk jenis CPU Anda:
    • Intel Mac: tahan Shift segera setelah bunyi startup sampai Anda melihat jendela login.
    • Apple silicon Mac:
      • Tahan tombol daya hingga "Memuat opsi startup" muncul.
      • Pilih disk startup Anda, tahan Shift, lalu klik Lanjutkan dalam Mode Aman.
  3. Masuk dan buka Monitor Aktivitas (Activity Monitor).

Jika ReportCrash tenang dalam Mode Aman tetapi mengamuk lagi setelah reboot normal, Anda hampir pasti berurusan dengan perangkat lunak pihak ketiga (item login, ekstensi kernel, alat bantu). Gunakan petunjuk itu untuk meninjau kembali langkah 2 dan 4 dengan lebih agresif.


Langkah 6. Atur Ulang SMC dan NVRAM (untuk kasus membandel)

Meskipun tidak terikat langsung dengan ReportCrash, gangguan tingkat rendah dalam manajemen daya atau status perangkat keras terkadang bermanifestasi sebagai kerusakan acak berulang dan ketidakstabilan sistem. Mengatur ulang SMC (Intel Mac) dan NVRAM dapat membantu membersihkan jaring laba-laba tersebut.

Prosedurnya tergantung pada model Mac Anda, tetapi secara garis besar:

  • Reset NVRAM (Intel Mac):
    1. Matikan Mac Anda.
    2. Nyalakan dan segera tahan Option–Command–P–R.
    3. Tahan tombol selama sekitar 20 detik, lalu lepaskan.
  • Reset SMC (Intel Mac):
    Langkah-langkah berbeda untuk MacBook dengan/tanpa baterai yang dapat dilepas, iMac, dan Mac mini. Lihat instruksi Apple untuk model dan versi macOS Anda yang tepat.

Pada Apple silicon Mac, tidak ada reset SMC atau NVRAM terpisah – urutan pematian dan penyalaan yang bersih secara efektif melakukan hal yang sama.

Jika CPU tinggi ReportCrash tetap ada bahkan setelah Anda mengesampingkan penyebab tingkat aplikasi dan melakukan reset ini, Anda berada di wilayah "tweak lanjutan".


Langkah 7. (Lanjutan) Nonaktifkan sementara ReportCrash

Langkah ini opsional dan ditujukan untuk pengguna berpengalaman. Di lingkungan di mana loop crash yang diketahui dan tidak dapat dihindari ada (mis., fuzzing, pengaturan pengujian tertentu), beberapa admin memilih untuk menonaktifkan ReportCrash agar tidak membuang sumber daya untuk menghasilkan log tanpa akhir.

Untuk Mac rumah atau kantor biasa, saya merekomendasikan ini hanya sebagai solusi jangka pendek saat Anda melacak penyebab sebenarnya, bukan sebagai perbaikan permanen. Anda akan kehilangan diagnostik kerusakan otomatis dan mungkin menyembunyikan tanda-tanda masalah yang lebih dalam.

Jika Anda masih ingin melanjutkan, Anda dapat memuat turun (unload) LaunchAgent dan LaunchDaemon ReportCrash dari Terminal:

  1. Buka Terminal dari Aplikasi ▸ Utilitas.
  2. Jalankan perintah ini dengan hati-hati (Anda akan diminta memasukkan kata sandi admin untuk yang kedua):

launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist

Temporarily disable ReportCrash in Terminal

Ini mencegah ReportCrash memulai secara otomatis untuk proses pengguna dan sistem.

Untuk mengaktifkan kembali pelaporan kerusakan nanti, jalankan:

launchctl load -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist

Sekali lagi, perlakukan ini sebagai jalan terakhir, bukan langkah pertama Anda. Jika menonaktifkan ReportCrash tampaknya "menyelesaikan" masalah, Anda sebenarnya baru saja melepas termometer, bukan menyembuhkan demamnya.


Cara mencegah masalah ReportCrash di masa depan

Anda tidak dapat menghentikan setiap kerusakan, tetapi Anda dapat mengurangi kemungkinan insiden ReportCrash yang tidak terkendali dengan mematuhi beberapa kebiasaan:

  • Tetap perbarui macOS dan aplikasi inti: Perbaikan stabilitas adalah hal yang konstan dalam catatan rilis sistem dan aplikasi.
  • Pilih item startup dengan cermat: Tinjau Item Login secara teratur dan nonaktifkan apa pun yang tidak Anda perlukan untuk dimuat setiap saat boot.
  • Hapus instalan aplikasi dengan bersih: Saat Anda berhenti menggunakan aplikasi, hapus file pendukung dan pembantu peluncurannya, bukan hanya bundel utama di Aplikasi.
  • Hindari penginstal dan bundel yang mencurigakan: Adware dan agen latar belakang yang ditulis dengan buruk adalah sumber umum kerusakan aneh, bukan hanya pembajak peramban.
  • Awasi Monitor Aktivitas: Jika kipas Anda berputar tiba-tiba, pandangan sekilas pada tab CPU dan Energi dapat menangkap proses yang berperilaku buruk sebelum berubah menjadi masalah kronis.

Menyimpulkan

Ketika dampak CPU muncul, menyalahkan ReportCrash itu sendiri adalah kesalahpahaman. Ketika proses memonopoli CPU selama berjam-jam, itu adalah indikator kuat bahwa beberapa aplikasi, layanan, atau komponen sisa terjebak dalam loop crash-and-relaunch yang tak henti-hentinya.

Perbaikannya biasanya metodis daripada dramatis: identifikasi apa yang crash, perbaiki atau hapus, bersihkan item login dan LaunchAgents, dan baru kemudian pertimbangkan tindakan lanjutan seperti menonaktifkan ReportCrash sementara. Setelah ketidakstabilan yang mendasarinya hilang, Mac Anda harus kembali ke perilaku biasanya yang tenang, sejuk, dan tidak mencolok.

FAQ

1. Apakah ReportCrash adalah virus atau malware di Mac?

2. Apakah aman mematikan proses ReportCrash di Monitor Aktivitas?

3. Bagaimana cara mengetahui aplikasi mana yang menyebabkan ReportCrash menggunakan CPU tinggi?

4. Bisakah saya menonaktifkan pelaporan kerusakan di Mac saya secara permanen?

5. Kapan saya harus mempertimbangkan menginstal ulang macOS untuk memperbaiki masalah ReportCrash?

Apakah artikel ini membantu? Tolong, nilai ini.