Bagaimana cara memeriksa apa yang mencegah MBP dari shutdown / restart yang anggun dan memperbaikinya? [Sekarang dengan entri log]

12

Dan mudah-mudahan suntingan terakhir: Setelah memutakhirkan ke Mountain Lion, masalah ini tampaknya diperbaiki, semoga permanen.

Edit Terakhir: Masalahnya tidak terjadi setiap saat, kadang-kadang saya harus menunggu beberapa hari untuk itu terjadi. Jadi sulit untuk menguji dalam kondisi yang berbeda (yaitu safe mode atau dengan beberapa perangkat lunak dinonaktifkan) dan saya telah memutuskan bahwa tidak ada gunanya menghabiskan berhari-hari karena kondisi yang berbeda untuk memperbaiki ini. Saran Graham Perrin adalah yang paling membantu untuk menemukan informasi spesifik tentang masalah restart / reboot, tidak ditemukan dalam log tujuan umum.

Beberapa entri log ada di Edit di bagian bawah:

Pertengahan 2010 15in MacBook Pro, menjalankan OS X 10.7.4. Kadang-kadang ketika mencoba untuk menghidupkan kembali atau mematikan mesin, itu tidak akan berfungsi - layar berubah abu-abu, roda berputar menunjukkan, tetapi mesin tidak mati sehingga setelah beberapa menit saya harus mematikan mesin dengan menekan daya tombol.

Itu tidak terjadi setiap waktu, dan saya tidak bisa menghubungkan perangkat lunak apa pun yang digunakan selama sesi dengan masalah. Bahkan, ketika menguji ini, kadang-kadang ini akan terjadi ketika saya mencoba mematikan mesin segera setelah memulai.

Bagaimana cara memeriksa apa yang mencegah shutdown / restart anggun? Saya berasumsi bahwa saya harus mencari di beberapa file log, tetapi saya tidak yakin yang mana dan apa yang harus dicari.

Sunting: Menambahkan pengaturan mulai / matikan verbose di nvram seperti yang disarankan oleh Graham Perrin, dan akhirnya mesin macet saat reboot. Saya melihat beberapa entri verbose di layar dan setelah reboot ditemukan di /var/log/launchd-shutdown.log. Tampaknya WindowServer mungkin ada hubungannya dengan itu. Di bawah ini adalah akhir file log dengan 3 kolom pertama dihapus (yang pertama memiliki beberapa angka integer yang meningkat, yang kedua memiliki entri "1" dan yang ketiga - "com.apple.launchd"):

234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   Job has not died after being killed 2 seconds ago. Simulating exit.
234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   EVFILT_PROC event for job.
1 com.apple.launchd         KEVENT[0]: udata = 0x107827a90 data = 0x0 ident = 234 filter = EVFILT_PROC flags= 0x0 fflags = NOTE_EXIT
234 com.apple.WindowServer   Reaping
234 com.apple.WindowServer   Simulated exit: <rdar://problem/9359725>
234 com.apple.WindowServer   Exited 22.016701 seconds after the first signal was sent
0 com.apple.WindowServer     Exited while shutdown in progress. Processes remaining: 0/0
0 com.apple.WindowServer   Job was last to exit during shutdown of: System.
0 com.apple.WindowServer    Total rusage: utime 0.000000 stime 0.000000 maxrss 0 ixrss 0 idrss 0 isrss 0 minflt 0 majflt 0 nswap 0 inblock 0 oublock 0 msgsnd 0 msgrcv 0 nsignals 0 nvcsw 0 nivcsw 0
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver.active
0 com.apple.WindowServer  Mach service deleted: com.apple.windowserver.active
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver
0 com.apple.WindowServer   Mach service deleted: com.apple.windowserver
0 com.apple.WindowServer    Removed
1 com.apple.launchd      System: No submanagers left.
1 com.apple.launchd    System: Removing.
1 com.apple.launchd   System: Removing job manager.
1 com.apple.launchd    System: Userspace shutdown finished at: Wed Aug  1 08:53:12 2012
1 com.apple.launchd   System: Userspace shutdown took approximately 22 seconds.
1 com.apple.launchd   VM statistics (now - orig): Free: 28472 Active: -21833 Inactive: -1038 Reactivations: 0 PageIns: 25 PageOuts: 0 Faults: 1654 COW-Faults: 335 Purgeable: -849 Purges: 0
1 com.apple.launchd   System: Stray process at shutdown: PID 234 PPID 1 PGID 234 WindowServer
1 com.apple.launchd       System: About to call: reboot(RB_HALT).
lupincho
sumber
Sambungkan semua disk yang biasa digunakan, buat koneksi server file yang biasa digunakan, lalu jalankan mountperintah. Memasukkan hasil dalam pertanyaan Anda dapat membantu mempersempit segalanya.
Graham Perrin
Tidak ada koneksi disk atau file server yang biasanya digunakan, saya menghubungkan drive USB beberapa kali per bulan, tetapi saya tidak punya untuk mencoba sekarang. Saya memang menjalankan 'mount' tanpa disk terhubung, tetapi tidak ada yang mencurigakan.
lupincho
Tolong, versi Little Snitch mana? Apakah masalah dapat direproduksi dengan boot aman, atau tanpa Little Snitch?
Graham Perrin
LS stabil terbaru (2.5.3), bukan preview versi 3. Tapi ini juga terjadi dengan versi 1-2 sebelumnya. Saya tidak dapat menguji ini secara wajar tanpa LS atau dalam mode aman, karena ini tidak terjadi setiap saat, kadang-kadang butuh berhari-hari untuk terjadi dan saya tidak dapat menjalankan mesin seperti itu untuk jangka waktu yang lama. Saya kira, saya akan hidup dengan ini untuk saat ini, dan akan meningkatkan ke Mountain Lion dan melihat apa yang terjadi. Tetapi saran Anda sangat membantu dan spesifik, sehingga Anda mendapatkan karunia.
lupincho
Terima kasih! Berdasarkan rencana Anda untuk memutakhirkan OS, saya menambahkan bagian ke jawaban saya. The jawaban terpendek sekarang adalah bahwa dibandingkan dengan 10.7.4, 10,8 harus baik (a) cenderung membutuhkan kekuatan; dan (b) lebih mudah untuk mendiagnosis jika terjadi kekerasan.
Graham Perrin

Jawaban:

6

Melengkapi jawaban lain ...


Amati mode verbose selama restart atau dimatikan

Mac OS X: Cara memulai dalam mode pengguna tunggal atau verbose

- jika Anda memulai dalam mode verbose, maka restart atau shutdown akan sama verbose.

Petunjuk: jika hal-hal dalam mode verbose tampaknya tidak berkembang melampaui titik tertentu, izinkan mungkin lima menit sebelum:

  • memaksa restart (Command-Control-power); atau
  • memaksa pematian (tekan dan tahan tombol daya).

Jika restart paksa tidak berhasil, itu bisa menjadi petunjuk lain untuk penyebab masalah.

Sebuah pertanyaan terkait, meskipun tidak berorientasi pada masalah: Adakah yang bisa mengartikan pesan-pesan penutupan verbose?

Kasus berorientasi masalah di sini seharusnya lebih mudah diselesaikan untuk lupincho. Lebih sedikit daun teh.

Untuk memulai dalam mode verbose tanpa memasukkan Command-V

Preferensi dapat disimpan dalam NVRAM. Masukkan perintah berikut di Terminal, dan bersiaplah untuk memasukkan kata sandi admin Anda:

sudo nvram boot-args="-v"

Awal sistem selanjutnya akan bertele-tele.


sysdiagnose

Sebelum setiap restart atau shutdown, di Terminal:

sudo sysdiagnose

Ini memakan waktu, tetapi Anda tidak perlu menyelidiki hasil dari semua proses. Perhatikan hanya jika ada masalah.

Untuk kasus seperti lupincho:

  • proses sysdiagnosedapat mengungkapkan masalah sebelum memulai kembali atau mematikan
  • hasil akhir dari sysdiagnose mungkin menarik berikut sebuah terpaksa me-restart atau mematikan.

Lebih khusus: jika serangkaian sysdiagnosegagal untuk maju melampaui titik tertentu, mengetahui titik itu dapat membantu untuk mendapatkan rasa masalah yang mendasarinya.

Selama menjalankan Anda dapat menggunakan kombinasi tombol berikut, berulang kali, untuk melihat apakah ada kemajuan:

  • Control-T

Untuk allmemorybagian dari sysdiagnoserutinitas, perkiraan dua menit Apple mungkin sangat tidak akurat. Sabar.

Jika Anda mencurigai bahwa sysdiagnosegagal untuk maju melampaui titik tertentu, maka kunci:

  • Kontrol-C

Jika penggunaan berulang Control-C gagal untuk dibatalkan sysdiagnose, maka (dalam pengalaman saya dengan Mountain Lion) hampir pasti bahwa upaya untuk me-restart atau mematikan sistem operasi akan gagal.


Pemantauan shutdown

Di Finder, buka:

/private/var/log/shutdown_monitor.log

File ini biasanya kosong, tetapi mungkin mengandung item yang menarik setelah shutdown yang bermasalah. (Saya memiliki sedikit pengalaman di bidang ini.)

Jika satu-satunya proses nyasar saat shutdown adalah WindowServer

Bukan hal yang aneh untuk melakukan proses nyasar saat shutdown. Tersesat bisa menjadi masalah hanya jika tidak terbunuh.

Jika Anda mencurigai bahwa WindowServer tidak terbunuh, dan bahwa nyasar ini berkontribusi terhadap kegagalan shutdown: tanyakan pada diri Anda apakah ada perangkat lunak pihak ketiga yang menggunakan proses WindowServer secara tidak standar.

Tampilan cepat tampilan GrabFS dari WindowServer di Mountain Lion, dengan dua tampilan:

masukkan deskripsi gambar di sini

Jika Lion serupa, maka firasat saya adalah bahwa penyebab kegagalan shutdown ada di luar WindowServer.


Tebak, berdasarkan hasil launchctl

Sementara mesin berjalan normal, apa tanggapan terhadap perintah berikut?

sudo launchctl list | grep  --invert-match com.apple

Bertanya-tanya apakah perangkat lunak non-Apple berkontribusi terhadap masalah. Perangkat lunak anti-virus, anti-malware?


Mengikuti peningkatan dari Lion ke Mountain Lion

Bertujuan untuk:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log

Tampaknya default adalah satu log per shut down, dengan maksimum dua sehingga ada juga:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log.1

Setelah setiap restart paksa atau terpaksa shutdown, Anda mungkin memilih untuk menyisihkan salinan yang terbaru dari keduanya. Jika diperlukan kekuatan lebih dari satu kali, Anda dapat membandingkan file untuk melihat apakah suatu pola muncul.

Umumnya

Jangan mengesampingkan kemungkinan masalah dengan perangkat lunak pihak ketiga, bahkan kualitas rilis. Little Snitch mungkin ditulis dengan baik dan dihormati tetapi:

  • ketika masalah seperti yang ada dalam pertanyaan ini menjadi meluas atau terlalu membingungkan, ekstensi kernel non-Apple mana pun perlu mendapat perhatian.

Saya menguji Build 12A269 dari OS X 10.8 selama sekitar dua minggu sebelum dirilis, dengan perhatian khusus untuk mematikan perilaku dalam situasi sulit . Sementara saya belum menonton video apa pun dari WWDC 2012, saya merasa bahwa Apple telah bekerja sangat keras untuk mencegah perlunya kekuatan di semua situasi yang paling sulit.

Membangun jawaban David DelMonte

Setidaknya di Mountain Lion, saya melihat muatan Little Snitch 3.0 Preview 2 (3857) sangat awal - sebelum shutdown logging dimulai . Jika hal-hal yang berkaitan dengan KEXT ini juga terlambat sekitar waktu shutdown , maka mungkin masalah tidak akan terlihat dalam file log yang biasa pada disk.


Jika Anda menemukan penyebab masalahnya - dengan Singa atau Singa Gunung - saya akan senang mengetahui.

Sementara itu, dengan ucapan terima kasih yang sebesar-besarnya atas hadiahnya, sebuah pemikiran penutup:

kextstat -l | grep --invert-match com.apple
Graham Perrin
sumber
1
Terima kasih, aktifkan mode verbose dengan perintah nvram. Namun, bahkan setelah memulai kembali tidak ada shutdown_monitor.log. Ada file launchd-shutdown.log dan launchd-shutdown.log.1 (tampaknya hanya saat ini dan 1 sebelumnya yang disimpan, tidak seperti log lain), tetapi ini ada di sana sebelumnya dan saya melihat mereka sebelumnya. Saya akan memeriksa pesan shutdown mode verbose, mudah-mudahan saya bisa melihat di mana shutdown / restart macet.
lupincho
Jika masalah berulang, ambil satu atau dua foto dari kata kerja. Jangan terlalu khawatir tentang fokus dll, saya akan mengenali poin-poin penting bahkan dengan beberapa kabur. Saya punya firasat tentang apa yang salah dalam kasus Anda, bagian baru sysdiagnosedari jawaban ini mungkin paling relevan.
Graham Perrin
Catatan: di sini dengan Singa Gunung yang saya miliki /private/var/log/kernel-shutdown.log(dengan informasi yang berguna bagi saya) tetapi tidak /private/var/log/launchd-shutdown.log.
Graham Perrin
Terima kasih atas petunjuk 'sysdiagnose', jalankan saja, berjalan dengan baik, akan coba lagi. Seperti yang Anda katakan, itu membutuhkan waktu, kalau tidak saya bisa memasukkannya ke dalam logout untuk dijalankan setiap saat.
lupincho
Otomasi memang menggoda, tetapi saya harus menahan diri untuk tidak membuat sysdiagnoseitem logout. Dalam kasus tepi, otomatisasi dapat membuat situasi sulit menjadi lebih buruk.
Graham Perrin
2

Buka Aplikasi -> Utilitas, dan buka Konsol

Lihatlah file system.log, Anda mungkin dapat menemukan sesuatu di sana.

pistol
sumber
Saya tidak melihat sesuatu yang aneh di sana.
lupincho
Jawaban yang bagus oleh Revolver. +1. Bisakah Anda menyalin dan menempelkan ke pertanyaan Anda, entri system.log yang Anda lihat setelah Anda meminta penutupan - dan mungkin beberapa menit sebelumnya .. Tempelkan ke pertanyaan asli Anda ..
David DelMonte
Saya pergi ke system.log beberapa kali di masa lalu dan tidak menemukan sesuatu yang tidak biasa dibandingkan dengan shutdown yang anggun. Akan menunggu waktu berikutnya ketika ini terjadi dan akan memeriksa log lagi. Saya seharusnya sudah mengklarifikasi bahwa saya mengetahui log keperluan umum, akan memperbaruinya dalam posting asli saya.
lupincho
2

pmset -g assertions mendapat ringkasan pernyataan kekuatan:

$ pmset -g assertions
Assertion status system-wide:
   PreventUserIdleDisplaySleep             0
   CPUBoundAssertion                       0
   DisableInflow                           0
   ChargeInhibit                           0
   PreventSystemSleep                      0
   PreventUserIdleSystemSleep              1
   ExternalMedia                           1
   DisableLowPowerBatteryWarnings          0
   EnableIdleSleep                         1
   NoRealPowerSources_debug                0
   UserIsActive                            0
   ApplePushServiceTask                    0

Listed by owning process:
  pid 153: [0x00000099012c023b] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleUSBAudioEngine:Apple Inc.:Display Audio:15261930:2,1'.noidlesleep" 
  pid 19: [0x00000013012c0235] ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 

Anda dapat melihat jalur proses dengan ps up $pid:

$ ps up 153
USER          PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
_coreaudiod   153   0.0  0.2  2475000   6740   ??  Ss   Fri05PM  12:17.71 /usr/sbin/coreaudiod
Lri
sumber
Saya menjalankannya dan tidak menunjukkan apa-apa. Masalahnya adalah bahwa setelah saya memulai shutdown / restart saya tidak dapat menjalankan perintah apa pun. Masalahnya juga tidak selalu muncul, jadi saya harus sering memeriksa ini, atau menulis skrip untuk menyimpan info dalam file sehingga setelah shutdown / restart bermasalah saya bisa kembali ke file itu dan melihat apakah ada sesuatu yang muncul . Tapi itu sepertinya titik awal yang bagus, terima kasih banyak!
lupincho
1

Saya sudah terbiasa dengan masalah ini dan menemukan perbaikan yang berhasil untuk saya. Meskipun saya tidak langsung menjawab pertanyaan Anda (cara memeriksa apa yang menyebabkan masalah), ini adalah perbaikan yang mungkin patut dicoba:

  1. Arahkan ke "Macintosh HD> Library"
  2. Hapus folder bernama "Java"
  3. Sampah kosong
  4. Menutup
  5. Setelah Anda menjalankan sesuatu yang berhubungan dengan Java, Anda akan diminta untuk menginstal ulang Java, lakukan itu.

Setelah itu, waktu shutdown akan meningkat. Catatan: Saya masih mendapatkan shutdown lambat ketika saya shutdown segera setelah sistem dimulai, jadi setelah Anda mengikuti langkah-langkah dan ingin menguji, tunggu beberapa menit setelah sistem dimulai sebelum mematikan.

bogdansrc
sumber
Itu menarik; lakukan itu, mari kita lihat apa yang terjadi. Masalahnya adalah itu tidak terjadi setiap waktu, jadi satu-satunya cara untuk memverifikasi adalah menunggu beberapa hari dan jika itu tidak terjadi lagi, ini mungkin berarti itu sudah diperbaiki.
lupincho
Itu tidak berhasil, baru saja mendapat masalah mematikan mesin.
lupincho
1
  1. Apakah Anda memiliki peralatan periferal yang terhubung (USB, FW, dll)?

Jika demikian, akan menarik untuk memutuskan segalanya dan melihat apakah masalahnya ada.

  1. Sudahkah Anda mencoba memperbaiki izin, dan memeriksa integritas file?

Semoga bantuan ini.

David DelMonte
sumber
Saya melakukan perbaikan izin. Tidak ada periferal, bahkan kabel ethernet. Akan menambahkan info itu ke pertanyaan.
lupincho
Periferal - selalu baik untuk dipertimbangkan ketika (seperti dalam pertanyaan lupincho) ada aroma masalah dengan I / O. Izin - IMHO tidak pernah mungkin untuk mencegah penutupan OS. Disintegrasi - mungkin, tetapi bagi saya pertanyaan dalam bentuk saat ini lebih berbau masalah dengan perangkat lunak. (Catatan, tentang integritas: Perangkat lunak bebas atau sumber terbuka apa yang dapat saya gunakan dengan perangkat keras Mac untuk memverifikasi integritas setiap blok disk tempat Core Storage digunakan? - terlalu banyak masalah teknis di sana saat ini, pada akhirnya harus mengembun menjadi sesuatu yang jauh sederhana.)
Graham Perrin
1

Beberapa ide lagi:

  1. Buat akun pengguna lain. Masuk hanya sebagai akun tes ini. Jika Anda tidak memiliki masalah, kemungkinan ada sesuatu dalam perangkat lunak pengguna Anda. Jika Anda memiliki masalah, mungkin saja itu berupa perangkat keras.

  2. Cobalah untuk menciptakan kembali masalah hanya dengan menggunakan daya baterai.

  3. Ikuti langkah-langkah untuk pengontrol Manajemen Sistem Apple -

Menyetel Ulang Pengontrol Manajemen Sistem (SMC) Mengatur ulang SMC pada portables portabel dengan baterai yang dapat Anda lepaskan

Matikan komputer. Putuskan sambungan adaptor daya MagSafe dari komputer, jika terhubung. Keluarkan baterai. Tekan dan tahan tombol daya selama 5 detik. Lepaskan tombol daya. Hubungkan kembali baterai dan adaptor daya MagSafe. Tekan tombol daya untuk menyalakan komputer.

David DelMonte
sumber
Terpilih terutama untuk ide Anda (1). Untuk ide (2), dengan gejala seperti yang dijelaskan saat ini, secara pribadi saya tidak akan curiga ada perbedaan dengan daya baterai saja. Namun masalah seperti lupincho secara mengejutkan sulit didiagnosis tanpa akses langsung ... jadi itu bukan ide yang buruk. Ide (3), masalah yang diselesaikan dengan reset sangat jarang ... tapi sekali lagi itu bukan ide yang buruk - cepat dan sederhana untuk melakukan sehingga ini juga, mendapatkan suara saya.
Graham Perrin
1

Saya tidak menyadari Anda menjalankan Little Snitch. Saya baru saja memecahkan masalah serupa untuk seorang teman, dengan menghapus LS. Saya sarankan Anda mencobanya. Untuk menghapus dengan benar, unduh lagi pemasang LS. Jalankan penginstal, tetapi pilih uninstall.

Saya ingin tahu juga mengapa Anda ingin menggunakan aplikasi ini ..

David DelMonte
sumber
Belum dalam pertanyaan, Little Snitch pertama kali disebutkan dalam komentar (lebih banyak) sebagai jawaban.
Graham Perrin
Tolong: apakah komputer teman Anda menjalankan Lion, atau Mountain Lion? Versi Little Snitch mana yang dihapus?
Graham Perrin
1
Itu Singa. Saya tidak tahu versi LS .. maaf.
David DelMonte
1
Tidak ada bukti bahwa LS menyebabkan hal itu dan sayangnya, karena masalah tidak terjadi setiap kali, pengujian dengan LS yang dihapus akan memakan waktu beberapa hari di mana saya tidak dapat kehilangan LS. Adapun alasan untuk menjalankan LS: ada terlalu banyak program menelepon ke rumah dan itu hanya tingkat kontrol lain untuk lalu lintas keluar. Apa yang akhirnya akan saya lakukan adalah meningkatkan ke versi 3 ketika secara resmi dirilis.
lupincho
Untuk tujuan pemecahan masalah, Little Snitch dapat diperlakukan secara berbeda dari KEXT pihak ketiga lainnya untuk setidaknya dua alasan: (i) ketepatan waktu muatnya, dan (ii) penempatannya dalam domain Sistem di /System/Library/Extensions. Dengan pujian kepada David, saya menambahkan bagian pada jawaban saya.
Graham Perrin
0

Pacar saya hanya menghapus direktori untuk paralel dengan menyeret dan menjatuhkan direktori ke tempat sampah dan mengosongkan tempat sampah. Namun, saya menemukan paralel lagi di folder Library, dan ada skrip shell (file .sh) untuk menghapus instalannya dengan benar. Ini berhasil dan memecahkan masalah boot panjang kami.

Saya menyebutkan ini karena paralelnya adalah penyebab dari banyak boot lambat dan tampaknya tidak mudah untuk menghapus seperti yang ditunjukkan situs web mereka (hanya dengan menarik dan menjatuhkan direktori).

Selamat jalan, semoga ini membantu seseorang.

Lyra
sumber