Laporan tentang Mac yang membeku selepas bangun sering menggabungkan tiga kegagalan menjadi satu aduan. Penuding mungkin masih bergerak sementara klien VPN mengabaikan klik, klien mungkin berfungsi sementara satu sesi jauh tamat, atau seluruh desktop mungkin berhenti menerima input. Setiap satunya memerlukan bukti berbeza, dan minit pertama selepas pembekuan menentukan yang mana sedang anda lihat. Andaian yang salah menghantar setiap langkah seterusnya ke arah yang salah.

Apa yang berhenti menjawab, dan apa yang hanya berhenti menunggu

Mulakan dengan ujian paling murah: gerakkan penuding dan taip dalam medan teks setempat, buka paparan status klien itu sendiri dan baca keadaan yang dilaporkannya, kemudian mulakan operasi baharu dalam aplikasi peribadi dan bukannya menyambung semula sesi yang sudah terbuka. Tulis ketiga-tiga jawapan sebelum menyentuh apa-apa lagi, kerana urutan apa yang gagal ialah perincian pertama yang orang lupa.

Setiap hasil menunjuk ke tempat berbeza. Satu sesi yang tersekat meletakkan bukti di seberang terowong, dan Mac hanyalah penonton. Klien yang mengabaikan klik sementara desktop masih berfungsi menyempitkan carian kepada proses itu dan lognya. Mesin yang mengabaikan penuding membuang pilihan untuk menjalankan apa-apa, kerana setiap arahan pemeriksaan memerlukan shell yang menjawab.

Kekalkan tiga kes itu berasingan walaupun pengguna menerangkannya dalam satu ayat. Laporan yang anda serahkan harus menyatakan ujian mana yang gagal dahulu dan mana yang masih lulus, bukan bahawa mesin membeku. Perbezaan itulah yang membolehkan jurutera sokongan memutuskan sama ada untuk melihat rangkaian, klien atau perkakasan.

Garis masa yang masih boleh anda pertahankan esok

Jam ialah bahagian rekod yang tidak boleh dibina semula kemudian. Catat bila penutup dibuka atau mesin bangun, bila tindakan gagal pertama berlaku, dan sama ada kedua-dua detik itu terpisah beberapa saat atau minit. Kemudian tulis sama ada Mac benar-benar tidur atau hanya mengunci skrinnya, kerana itu keadaan berbeza dengan laluan bangun yang berbeza. Log tidur ialah satu-satunya bahagian garis masa itu yang boleh anda semak kemudian.

pmset -g log | grep -i -E 'wake|sleep'
log show --last 15m --predicate 'process == "<client-process>"' --style compact

Arahan pertama mengubah ingatan kabur menjadi cap masa yang boleh anda taip ke dalam yang kedua. Hadkan pertanyaan log kepada proses klien dan tetingkap pendek, dan anda mendapat satu halaman output dan bukannya sehari penuh. Salin pengecam model, binaan klien dan rangkaian tempat anda berada ke dalam nota yang sama selagi skrin masih di hadapan anda; laporan yang disusun pagi berikutnya kehilangan urutan yang menjadikannya mudah dibaca.

Pilih rakaman yang sepadan dengan gejala

Apple mendokumentasikan tiga rakaman dalam panduan diagnostik Activity Monitor, dan ketiganya menjawab soalan berbeza. Sample Process memerhati satu proses terpilih selama tiga saat, spindump menyasarkan aplikasi yang berhenti bertindak balas dan akan dipaksa tutup, dan System Diagnostics mengumpul log sistem ke dalam bundel.

Pilih berdasarkan apa yang anda perhatikan, bukan kebiasaan. Klien yang berjalan tetapi berkelakuan buruk mendapat sample, diambil dengan sample <pid> 3 -file ~/Desktop/sample.txt atau dari menu gear. Aplikasi yang berputar tanpa henti dan perlu dibunuh mendapat item Spindump daripada menu yang sama. Masalah yang merangkumi klien dan sistem mendapat sudo sysdiagnose -f ~/Desktop. Ambil sample sebelum memaksa tutup jika boleh, kerana penamatan memusnahkan tepat keadaan yang anda mahu periksa, dan namakan fail mengikut peristiwa dan masa, bukan mengikut andaian anda tentang punca.

Anggap setiap bundel sebagai sensitif. Laporan ini membawa nama akaun, nama hos, laluan dan butiran rangkaian, jadi hantarkannya melalui saluran sokongan yang digunakan organisasi anda dan bukannya melampirkannya pada utas awam. Jika laporan perlu dipangkas, pangkas salinan dan biarkan yang asal utuh.

Apabila penuding itu sendiri tidak bergerak

Antara muka yang mati mengubah urutan operasi. Anda tidak boleh mengambil sample proses atau menjalankan pertanyaan daripada shell yang tidak menjawab, jadi matlamat pertama ialah pemulihan dan yang kedua ialah rekod. Mulakan semula secara paksa kadangkala satu-satunya jalan keluar, dan ia juga saat butiran paling berguna hilang. Catat masa, tetingkap yang terbuka dan sama ada menu rangkaian menunjukkan sambungan sebelum anda memulakan semula; pemerhatian itu bertahan selepas but semula walaupun keadaan proses tidak.

Selepas mesin kembali, tolak kesimpulan bahawa permulaan semula menemui punca. Ia memulihkan perkhidmatan dan tidak menamakan apa-apa. Hanya pengulangan dengan satu perubahan terkawal boleh menunjuk kepada komponen.

Jika pembekuan kembali, ubah satu syarat setiap percubaan: rangkaian, versi klien atau mod tidur. Simpan kerja jauh dahulu, dan elakkan mengulang tidur paksa pada mesin pengeluaran, kerana kitaran keras berulang berisiko kehilangan data dan sering menghasilkan kegagalan berbeza daripada yang anda kejar. Catat setiap percubaan dengan syaratnya supaya yang seterusnya boleh dibandingkan, bukan anekdot.

Serahkan satu peristiwa, bukan suasana hati

Penyerahan yang mendapat tindakan menamakan empat perkara: apa yang berhenti menjawab, bila ia berlaku, bagaimana rangkaian kelihatan pada saat itu, dan rakaman mana yang meliputi tetingkap itu. Tambahkan versi klien dan binaan macOS, kemudian berhenti. Pasukan platform dan vendor klien kedua-duanya boleh bertindak atas ayat itu, dan tidak seorang pun boleh bertindak atas huraian kekecewaan. Simpan rekod di satu tempat dan tambah kepadanya dan bukannya menceritakan semula kisah itu setiap kali; jika kemas kini mengubah tingkah laku, nyatakan yang mana, kerana itu juga bukti.

Rekod yang baik juga menyatakan apa yang sudah anda ketepikan. Jika aplikasi setempat menjawab semasa pembekuan, katakan; jika log tidur menunjukkan bangun sebenar dan bukan kunci, katakan juga. Orang seterusnya tidak sepatutnya perlu mengulang ujian yang sudah anda jalankan.

Sebelum menutup tiket, semak tiga perkara: cap masa datang daripada log tidur dan bukan daripada ingatan, rakaman sepadan dengan gejala yang benar-benar anda lihat, dan bundel berada di lokasi yang diluluskan. Jika mana-mana daripada tiga itu tiada, laporan belum sedia untuk dihantar.

Artikel berkaitan