Сообщения о зависшем Mac после пробуждения часто объединяют три сбоя в одну жалобу. Указатель может ещё двигаться, пока клиент VPN игнорирует щелчки, клиент может работать, пока одна удалённая сессия истекает, или весь рабочий стол может перестать принимать ввод. Каждый из этих случаев требует разных доказательств, и первая минута после зависания решает, с каким вы имеете дело. Неверное предположение уводит каждый следующий шаг в неверном направлении.

Что перестало отвечать, а что просто перестало ждать

Начните с самых дешёвых проверок: подвигайте указателем и наберите текст в локальном поле, откройте собственное окно состояния клиента и прочитайте сообщаемое им состояние, затем запустите новую операцию в приватном приложении вместо возобновления уже открытой сессии. Запишите три ответа, прежде чем трогать что-либо ещё, потому что порядок того, что отказало, — это первая деталь, которую люди забывают.

Каждый результат указывает на другое место. Одна зависшая сессия оставляет доказательства по другую сторону туннеля, а Mac — лишь наблюдатель. Клиент, который игнорирует щелчки, пока рабочий стол ещё работает, сужает поиск до этого процесса и его журнала. Машина, которая игнорирует указатель, лишает возможности запустить хоть что-нибудь, потому что каждой команде проверки нужна отвечающая оболочка.

Держите три случая раздельно, даже когда пользователь описывает их одной фразой. Отчёт, который вы подаёте, должен говорить, какая проверка отказала первой и какие ещё прошли, а не что машина зависла. Именно это различие позволяет инженеру поддержки решить, смотреть ли на сеть, клиент или оборудование.

Хронология, которую вы сможете защитить и завтра

Часы — это та часть записи, которую нельзя восстановить позже. Отметьте, когда открылась крышка или машина проснулась, когда произошло первое неудачное действие, и были ли эти два момента разделены секундами или минутами. Затем запишите, действительно ли Mac спал или только заблокировал экран, потому что это разные состояния с разными путями пробуждения. Журнал сна — единственная часть этой хронологии, которую вы можете проверить потом.

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

Первая команда превращает смутное воспоминание в отметку времени, которую можно ввести во вторую. Ограничьте запрос к журналу процессом клиента и коротким промежутком, и вы получите страницу вывода вместо целого дня. Скопируйте идентификатор модели, сборку клиента и сеть, в которой вы были, в ту же заметку, пока экран ещё перед вами; отчёт, собранный на следующее утро, теряет порядок, который делал его читаемым.

Выберите снимок, соответствующий симптому

Apple документирует три снимка в руководстве по диагностике Activity Monitor, и они отвечают на разные вопросы. Sample Process наблюдает за одним выбранным процессом три секунды, spindump нацелен на приложение, которое перестало отвечать и вот-вот будет принудительно закрыто, а System Diagnostics собирает системные журналы в пакет.

Выбирайте по тому, что наблюдали, а не по привычке. Клиент, который работает, но ведёт себя плохо, получает sample, снятый с помощью sample <pid> 3 -file ~/Desktop/sample.txt или из меню шестерёнки. Приложение, которое крутится бесконечно и которое нужно убить, получает пункт Spindump из того же меню. Проблема, охватывающая клиент и систему, получает sudo sysdiagnose -f ~/Desktop. Снимите sample до принудительного закрытия, когда можете, потому что завершение уничтожает именно то состояние, которое вы хотели изучить, и назовите файл по событию и времени, а не по своему предположению о причине.

Считайте каждый пакет конфиденциальным. Эти отчёты содержат имена учётных записей, имена хостов, пути и сведения о сети, поэтому отправляйте их по каналу поддержки, который использует ваша организация, а не прикрепляйте к публичной теме. Если отчёт нужно сократить, сократите копию, а оригинал оставьте нетронутым.

Когда сам указатель не двигается

Мёртвый интерфейс меняет порядок действий. Вы не можете снять sample процесса или выполнить запрос из оболочки, которая не отвечает, поэтому первая цель — восстановление, а вторая — запись. Принудительная перезагрузка иногда единственный выход, и это также момент, когда исчезают самые полезные детали. Отметьте время, открытые окна и показывало ли меню сети соединение перед перезагрузкой; эти наблюдения переживут перезагрузку, хотя состояние процесса — нет.

Когда машина вернулась, сопротивляйтесь выводу, что перезагрузка нашла виновника. Она восстановила службу и ничего не назвала. Только повторение с одним контролируемым изменением может указать на компонент.

Если зависание возвращается, меняйте одно условие за попытку: сеть, версию клиента или режим сна. Сначала сохраните удалённую работу и избегайте повторять принудительные сны на производственной машине, потому что повторные жёсткие циклы рискуют потерей данных и часто дают сбой, отличный от того, который вы преследуете. Записывайте каждую попытку с её условиями, чтобы следующая была сопоставимой, а не анекдотичной.

Передайте одно событие, а не настроение

Передача, которая приводит к действию, называет четыре вещи: что перестало отвечать, когда это произошло, как выглядела сеть в тот момент и какой снимок покрывает этот промежуток. Добавьте версию клиента и сборку macOS, затем остановитесь. И команда платформы, и поставщик клиента могут действовать по этой фразе, и ни один из них не может действовать по описанию раздражения. Держите запись в одном месте и дополняйте её, а не пересказывайте историю каждый раз; если обновление изменило поведение, укажите какое, потому что это тоже доказательство.

Хорошая запись также говорит, что вы уже исключили. Если локальное приложение отвечало во время зависания, скажите это; если журнал сна показывает настоящее пробуждение, а не блокировку, скажите и это. Следующему человеку не придётся повторять проверки, которые вы уже сделали.

Перед закрытием заявки проверьте три вещи: отметка времени берётся из журнала сна, а не из памяти, снимок соответствует симптому, который вы действительно видели, и пакет находится в утверждённом месте. Если хотя бы одного из трёх нет, отчёт не готов к отправке.

Похожие статьи