Spindump
Також: звіт про зависання
Коротка відповідь
Spindump — це діагностичний звіт, який записує, що робили процеси на Mac. Його використовують, щоб розібратися з програмами, які зависають або перестають відповідати. У macOS є інструмент spindump, а Монітор активності може створити такий звіт із меню «Ще».
Spindump схожий на замір усієї системи, а не одного процесу. Він показує, які потоки працювали, а які чекали, і це допомагає розробникові зрозуміти, чому програма перестала відповідати.
За описом Apple, Spindump у Моніторі активності створює звіт для програм, які не відповідали й були закриті примусовим завершенням. Це один із кількох діагностичних звітів у меню «Ще» поряд із «Заміряти процес» і «Діагностика системи».
Як створити spindump у Моніторі активності
Натисніть кнопку «Ще» (три крапки) угорі вікна Монітора активності й виберіть Spindump. Може знадобитися пароль адміністратора. Коли звіт буде готовий, він відкриється, і його можна зберегти.
Створюйте його, поки програма зависла, а не після, щоб звіт зафіксував проблему.
Що робити зі spindump
Додайте його до звіту про помилку для розробника програми або надішліть в Apple через Асистент відгуків. Звіт може містити назви програм і процесів, які у вас запущені, тож перегляньте його, перш ніж публікувати.
Як зробити spindump із Термінала
Команда spindump заміряє всі процеси на Mac, тому має запускатися від імені root. Вона лише записує, що роблять процеси, і не зупиняє їх.
- Відкрийте Термінал, поки програма ще зависла.
- Виконайте
sudo spindump Safari -reveal, замінивши Safari частиною назви програми. Коли буде запит, введіть пароль адміністратора. - Зачекайте, поки триває замір. За замовчуванням він триває 10 секунд.
- Коли все завершиться, звіт буде збережено в /tmp, а параметр
-revealпокаже його у Finder.
Як читати spindump
Спершу йде програма, яку ви вказали, а за нею всі інші процеси. Для кожного процесу показано його потоки й стеки викликів, зафіксовані під час заміру.
- За замовчуванням стеки впорядковано за кількістю. Рядок, що починається з 84, траплявся в 84 замірах.
- Зірочка (*) на початку фрейму позначає код ядра.
- Найглибший фрейм кожного стека показує, чи потік працював, чи був призупинений.
- Якщо головний потік програми призупинений в очікуванні іншого процесу, подивіться на той процес у тому самому звіті. У цьому головна перевага порівняно із заміром одного процесу.
Де зберігаються звіти spindump
Коли ви примусово завершуєте програму, яка не відповідала, macOS може автоматично створити звіт і запропонувати надіслати його в Apple. Ці звіти зберігаються в /Library/Logs/DiagnosticReports.
Їх можна переглянути в програмі «Консоль» у папці «Програми» > «Утиліти». У бічній панелі в розділі «Звіти» перегляньте Spin Reports і Diagnostic Reports. Виберіть звіт, щоб його прочитати.
Звіти, які ви робите самі в Моніторі активності, відкриваються у вікні, коли будуть готові. Збережіть звіт із цього вікна, перш ніж закрити його, щоб мати копію для надсилання.
Замір, spindump чи «Діагностика системи»
У меню «Ще» Монітора активності є кілька звітів. Виберіть той, що відповідає проблемі. Spindump значно більший за замір, бо охоплює всі процеси, а «Діагностика системи» триває ще довше й перед запуском показує повідомлення про конфіденційність. Якщо розробник просить замір, надішліть замір. Якщо служба підтримки Apple просить певний звіт, надішліть саме його.
- «Заміряти процес»: один процес, близько 3 секунд. Використовуйте, коли знаєте, яка програма зависла чи зайнята.
- Spindump: усі процеси на Mac. Використовуйте, коли програма зависає, а причиною може бути інший процес.
- «Діагностика системи»: більший звіт, зібраний із журналів з усього Mac, який зазвичай просить служба підтримки Apple.
Що питають люди
Що таке spindump на Mac?
Це діагностичний звіт про те, що робили процеси, який допомагає зʼясувати, чому програма зависла. Його можна створити з меню «Ще» в Моніторі активності.
Яка різниця між spindump і заміром?
«Заміряти процес» записує один вибраний процес. Spindump охоплює процеси всієї системи, і це допомагає, коли причина зависання поза самою програмою.
Чи нормально, що spindump сильно навантажує процесор?
Він може недовго використовувати процесор, поки записує звіт, — часто після того, як програма зависла. Коли звіт готовий, він має сам зупинитися.
Чому spindump потрібен пароль адміністратора?
Він зчитує стеки викликів усіх процесів на Mac, зокрема системних. macOS дозволяє це лише для root.
Чи можна зробити spindump, коли нічого не зависло?
Так, але він покаже лише звичайну активність. Робіть його, поки програма зависла, щоб звіт зафіксував проблему.
Чому після примусового завершення програми зʼявився spindump?
macOS використовує spindump, щоб записати, що робила програма, яка не відповідала, на момент примусового завершення. Саме цей звіт пропонує надіслати діалог «надіслати в Apple».
Повʼязане
Шукаєте щось краще за Монітор активності? Дивіться найкращі альтернативи Монітору активності для Mac або перегляньте усі терміни глосарію.