Lexique/Quand quelque chose ne va pas
Spindump
Aussi : rapport de blocage
En bref
Un spindump est un rapport de diagnostic qui enregistre ce que faisaient les processus d’un Mac, utilisé pour étudier les apps qui se bloquent ou ne répondent plus. macOS inclut l’outil spindump, et le Moniteur d’activité peut en créer un depuis son menu aux trois points.
Un spindump est comme un échantillon de tout le système plutôt que d’un seul processus. Il montre quels threads tournaient ou attendaient, ce qui aide un développeur à voir pourquoi une app a cessé de répondre.
Dans le Moniteur d’activité, Apple décrit Spindump comme la création d’un rapport pour les apps qui ne répondaient pas et qu’on a forcées à quitter. C’est l’un des rapports de diagnostic du menu aux trois points, avec Échantillonner l’opération et Diagnostic système.
Sur cette page
Comment créer un spindump dans le Moniteur d’activité
Cliquez sur le bouton aux trois points en haut de la fenêtre du Moniteur d’activité et choisissez Spindump. Un mot de passe administrateur peut vous être demandé. Le rapport s’ouvre une fois terminé, et vous pouvez l’enregistrer.
Créez-le pendant que l’app est bloquée, pas après, pour que le rapport capture le problème.
Que faire d’un spindump
Joignez-le à un rapport de bug envoyé au développeur de l’app, ou à Apple via l’Assistant d’évaluation. Le rapport peut contenir le nom des apps et des processus que vous utilisez : relisez-le avant de le partager publiquement.
Comment créer un spindump depuis le Terminal
La commande spindump échantillonne tous les processus du Mac : elle doit donc tourner en root. Elle se contente d’enregistrer ce que font les processus et ne les arrête pas.
- Ouvrez le Terminal pendant que l’app est encore bloquée.
- Lancez
sudo spindump Safari -reveal, en remplaçant Safari par une partie du nom de l’app. Saisissez votre mot de passe administrateur quand il est demandé. - Patientez pendant l’échantillonnage. La durée par défaut est de 10 secondes.
- À la fin, le rapport est enregistré dans /tmp, et l’option
-reveall’affiche dans le Finder.
Comment lire un spindump
L’app que vous nommez apparaît en premier, suivie de tous les autres processus. Chaque processus affiche ses threads et les piles d’appels observées pendant l’échantillonnage.
- Par défaut, les piles sont triées par nombre d’occurrences. Une ligne qui commence par 84 a été vue dans 84 échantillons.
- Une étoile (*) au début d’une ligne signale du code du noyau.
- La ligne la plus profonde de chaque pile indique si le thread tournait ou était suspendu.
- Si le thread principal de l’app est suspendu en attendant un autre processus, regardez cet autre processus dans le même rapport. C’est le principal avantage sur l’échantillon d’un seul processus.
Où sont enregistrés les spindumps
Quand vous forcez à quitter une app qui ne répondait pas, macOS peut créer un rapport automatiquement et proposer de l’envoyer à Apple. Ces rapports sont stockés dans /Library/Logs/DiagnosticReports.
Vous pouvez les parcourir dans l’app Console, dans Applications > Utilitaires. Sous Rapports dans la barre latérale, regardez les rapports de blocage (Spin Reports) et les rapports de diagnostic. Sélectionnez un rapport pour le lire.
Les rapports que vous créez vous-même depuis le Moniteur d’activité s’ouvrent dans une fenêtre une fois terminés. Enregistrez le rapport depuis cette fenêtre avant de la fermer, pour garder une copie à envoyer.
Échantillon, spindump ou diagnostic système
Le menu aux trois points du Moniteur d’activité propose plusieurs rapports. Choisissez celui qui correspond au problème. Un spindump est bien plus volumineux qu’un échantillon, car il inclut tous les processus, et le Diagnostic système prend encore plus de temps et affiche un avis de confidentialité avant de démarrer. Si un développeur demande un échantillon, envoyez un échantillon. Si l’assistance Apple demande un rapport précis, envoyez celui-là.
- Échantillonner l’opération : un seul processus, environ 3 secondes. À utiliser quand vous savez quelle app est bloquée ou occupée.
- Spindump : tous les processus du Mac. À utiliser quand une app se bloque et que la cause peut être un autre processus.
- Diagnostic système : un rapport plus volumineux, construit à partir des journaux de tout le Mac, généralement demandé par l’assistance Apple.
Questions fréquentes
Qu’est-ce qu’un spindump sur Mac ?
C’est un rapport de diagnostic de ce que faisaient les processus, utilisé pour comprendre pourquoi une app s’est bloquée. Vous pouvez en créer un depuis le menu aux trois points du Moniteur d’activité.
Quelle est la différence entre un spindump et un échantillon ?
Échantillonner l’opération enregistre un seul processus sélectionné. Un spindump observe les processus de tout le système, ce qui aide quand la cause du blocage se trouve en dehors de l’app elle-même.
Est-ce normal que spindump utilise beaucoup de processeur ?
Il peut utiliser le processeur un court moment pendant qu’il écrit un rapport, souvent après le blocage d’une app. Il devrait s’arrêter de lui-même une fois le rapport terminé.
Pourquoi spindump demande-t-il un mot de passe administrateur ?
Il lit les piles d’appels de tous les processus du Mac, y compris les processus système. macOS ne le permet qu’à root.
Puis-je créer un spindump quand rien n’est figé ?
Oui, mais il ne montrera qu’une activité normale. Créez-le pendant que l’app est bloquée pour que le rapport capture le problème.
Pourquoi un spindump est-il apparu après que j’ai forcé une app à quitter ?
macOS utilise spindump pour enregistrer ce que faisait une app qui ne répondait pas au moment où elle a été forcée à quitter. C’est ce rapport que la fenêtre d’envoi à Apple propose de transmettre.
Voir aussi
Vous cherchez mieux que le Moniteur d’activité ? Consultez les meilleures alternatives au Moniteur d’activité pour Mac, ou parcourez tous les termes du lexique.