10 votes

Quelqu'un a-t-il trouvé comment identifier la page unique de chaque processus distinct de contenu Web Safari avec Safari 7/Mavericks ?

Je sais que je ne suis pas le premier à me poser cette question.

Quelque chose comme le gestionnaire de tâches de Chrome.

En bref, lorsque vous avez plusieurs onglets/pages ouverts dans le nouveau Safari 7 (livré avec Mavericks), chacun d'entre eux est lancé en tant que processus système distinct. Vous pouvez afficher la liste des processus dans le moniteur d'activité, mais vous ne pouvez pas voir la page ou l'URL sous-jacente de chaque processus.

Cela peut être très utile pour dépanner une page qui s'emballe ou qui est suspendue et qui consomme de la RAM ou des cycles de CPU.

Apple a supprimé la fenêtre d'activité dans Safari 6. Et maintenant, avec Safari 7, les processus séparés sont très bien, mais des informations plus détaillées sur chaque onglet seraient vraiment bien.

Quelqu'un ?

0 votes

Oui, la disparition de la fenêtre d'activité est une grande perte. Mais la fenêtre d'activité est loin d'être parfaite. Dans le Safari de Yosemite, Apple a tenu compte de ce problème. Nous allons voir comment.

10voto

napcae Points 2031

Il ne s'agit pas d'une solution idéale, mais d'une bonne solution de contournement.

Ouvrez Safari puis allez dans Préférences. Activez l'option Debug (Afficher le menu de développement dans la barre de menu).

Safari Preference Pane EDITAR: Au lieu d'activer le menu de développement, vous devez ouvrir un terminal et activer le menu de débogage avec defaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Merci @Collin C.

Vous trouverez l'option Show Web Process IDs in Page Titles sous Debug > Miscellaneous Flags

Show Web Process IDs

Si vous ouvrez le moniteur d'activité maintenant, vous pouvez voir les ID de processus Web des sites Web correspondants.

Web Process ID and Activity Monitor

J'espère que cela vous aide.

1 votes

Plutôt que d'activer le menu de développement dans les préférences, vous devez activer le menu de débogage via la ligne de commande avec "defaults write com.apple.Safari IncludeInternalDebugMenu -bool true".

0 votes

Bon conseil. Mais il nous manque toujours le moyen opposé : les onglets de processus.

6voto

markhunte Points 11634

Si vous passez votre souris sur le nom du processus, une info-bulle s'affiche et vous indique le domaine de base de l'URL.

enter image description here

0 votes

Mais il n'est pas possible de voir l'URL complet, n'est-ce pas ? Donc, si j'ai par exemple deux onglets ouverts, tous deux sur google.com, et que chaque onglet contient une autre requête de recherche, je ne pourrai pas les distinguer, n'est-ce pas ? Mais si rien de plus n'est nécessaire, c'est très ingénieux et beaucoup plus simple ;D

0 votes

C'est exact :-)

1 votes

Merveilleux, les gars. Merci ! J'ai découvert l'astuce du mouseover par hasard et je revenais ici pour poster la découverte lorsque j'ai vu vos réponses. Je n'ai jamais reçu de notifications de suivi de stackechange.

3voto

Kaliko Trapp Points 51

Mise à jour : "Quelles URL sont associées à chaque PID Safari ?"

Il s'agit d'une mise à jour sur le sujet de voir quelles URLs Safari sont associées à quels PIDs dans Activity Monitor. J'utilise Safari 8.0.6 sur Yosemite 10.10.3 avec le menu Debug activé et l'option "Afficher les PID dans les titres des pages" activée. (Voir ci-dessus et ci-dessous pour savoir comment faire).

Nicolas B a déclaré que "le chemin inverse nous manque encore : Processus > Onglets", faisant référence à la recherche d'une liste de noms d'onglets basée sur le PID d'une seule ligne dans Activity Monitor.

Je peux vous montrer comment voir tous les onglets associés à un processus web particulier (PID), même si cela ne vous apportera pas complètement satisfaction, puisque :

  • il s'agit d'un processus en plusieurs étapes, et
  • Essayer de trouver la logique dans les affectations PID basées sur les onglets revient à lire des feuilles de thé, semble-t-il.

Il faut également se rappeler que la liste de toutes les URL de pages associées à un seul processus Web dans le moniteur d'activité n'est pas réalisable dans l'interface utilisateur telle qu'elle existe aujourd'hui. (J'aimerais que l'équipe Safari d'Apple l'ajoute dans la fenêtre d'information pour les processus web, cependant).

Au début, j'ai supposé que le nom affiché sur la ligne du processus se référait à la dernière page complète ouverte par ce PID (sans inclure les pages en cache), mais hélas, cela ne semble pas être le cas. Je ne sais pas comment l'élément de ligne obtient son nom. Je partagerai les résultats de mon expérience pour trouver la réponse après mon explication sur la façon de voir quels onglets sont associés à chaque élément de ligne dans Activity Monitor.

Pas à pas

  1. Activer le menu Debug dans Safari

  2. Activez l'option pour Afficher les ID des processus Web dans les titres des pages (comme expliqué ci-dessus)

  3. Obtenez cette excellente extension Safari de Brett Terpstra, TabLinks .
    (Veuillez lui faire un don si vous trouvez le plugin utile !)

  4. Lancez l'extension en appuyant sur le bouton avec la petite icône de lien. (habituellement à gauche de la barre de recherche/localisation de Safari)

  5. Dans l'extension, ajoutez un caractère séparateur dans le modèle utilisé pour afficher les résultats (pour un futur travail de recherche et de remplacement).

    J'ai inséré un caractère ying-yang, donc mon modèle était : [%w-%n]:%u%t . Vous obtiendrez ainsi les résultats - y compris les résultats de l'enquête sur la santé publique. [WP PID] information à la fin du nom de chaque onglet - à partir des informations de débogage de Safari.

  6. Copiez et collez les résultats dans votre application d'édition de texte préférée. (Nisus Writer Pro est le mien !)

    Faites une recherche et un remplacement sur votre caractère de séparation (pour moi, ), et remplacez-les par un caractère de tabulation (en voici un : ).

    Faites une autre recherche et un autre remplacement sur [WP et remplacer sólo le site l'espace de tête unique avec un caractère de tabulation «tab»[WP . Cela vous permettra de répartir les PID dans une colonne distincte dans une feuille de calcul.

    Enregistrez ce fichier en tant que .tab fichier de texte brut.

  7. Ouvrez le fichier tab dans un tableur (j'ai utilisé Numbers) et amusez-vous. à trier par PID. Maintenant il ne reste plus qu'une étape...

  8. Sur Moniteur d'activité , sélectionnez Voir tous les processus, Hiérarchiquement et copier-coller la liste des éléments de la ligne montrant les URLs. dans votre feuille de calcul, à côté des noms et numéros d'onglet que vous avez déjà présents.

    (Vous pouvez vous débarrasser de toutes les données de la colonne dont vous n'avez pas besoin et garder juste les URLs et les PIDs dans deux colonnes ; ou bien, ajouter la colonne Mémoire pour comparer l'utilisation de la RAM, également)

C'est tout ; ce n'est pas très rapide, mais pas très compliqué. Il y a probablement un moyen plus rapide, mais c'était ma première tentative pour obtenir cette information.

Après avoir fait cela, vous trouverez peut-être des résultats similaires aux miens. J'avais 9 fenêtres ouvertes avec un total de 36 onglets, tous contenus dans 20 processus de type "url".

( NOTE : Ici, je suis no y compris les nombreux QTKitServer y Contenu Web de Safari processus. Ceux-ci s'exécutent en même temps que la plupart, voire la totalité, des "processus url". Ces processus QTKitServer ont une empreinte RAM minuscule par rapport aux "processus url" principaux, par exemple, 4,5 Mo contre 300 Mo).

Observations

  • J'avais 9 fenêtres avec 36 onglets, fonctionnant dans 20 processus.

  • L'utilisation de la RAM était de 5,4 Go au total (258 Mo en moyenne par processus).

  • La mémoire privée était de 2.0 GB au total (moyenne de 97 MB par processus)

  • Tout élément de ligne de processus unique peut contenir un ou plusieurs onglets (mine avait habituellement un ou deux onglets par PID)

  • Le nom de l'URL dans l'article ne semble suivre aucun modèle que je puisse que je peux discerner, si ce n'est que le nom reflète généralement (mais PAS TOUJOURS) l'URL de base de l'un des onglets affectés à ce PID.

  • Parfois, le nom de l'URL est inexact ! Sur mes 20 processus, 4 ont utilisé une URL qui n'était PAS ouverte dans un de mes onglets.

    (S'agirait-il de pages en cache, peut-être ?)

  • Un nouvel onglet (ou fenêtre) peut être assigné soit à un PID existant, soit à un nouveau processus. un nouveau processus, apparemment de manière "aléatoire". Ils ne sont ni séquentielles, ni groupées avec une fenêtre particulière ; ainsi, toute fenêtre avec plusieurs onglets peut avoir plusieurs PIDs fonctionnant les uns à côté des autres.

C'est suffisant pour le moment ! J'espère que quelqu'un de beaucoup plus intelligent que moi pourra venir nous expliquer un peu plus ! Aloha.

0voto

colin Points 59

J'ai écrit un applescript, je l'exécute normalement depuis le terminal mais il pourrait être facilement modifié pour une autre facilité d'utilisation qui vous conviendrait. La sortie montre la fenêtre/l'onglet, le titre, la mémoire utilisée et l'URL. Avec les longues chaînes de caractères raccourcies au début...à la fin...

Pour obtenir la taille de la mémoire, vous aurez besoin d'onglets montrant l'ID du processus comme détaillé par plusieurs postes ci-dessus.J'utilise une fonction pour exécuter le script via osascript, tout noté dans les commentaires du fichier.

Exemple :

Window/Tab: Window Title                      MemoryUse    @  URL (may be missing on old tabs, swap window and many will change)
2/1:Javascript - DEV Community  [WP 72069] [WP 84642] [WP 9351]        14M+    @  missing value
2/2:11 must-see TED Talks | TED Talks [WP 72071] [WP 84643] [WP 9352]         13M+    @  missing value
2/3:Folk Show: Episode 69 by Folk Radio | Mixcloud [WP 84644] [WP 9353]       13M+    @  missing value
2/4:heat exchanger extractor fan kitche...e Search [WP 84645] [WP 9354]       13M+    @  missing value
2/5:Fral Flipperdry 300 portable domest...midifier [WP 84646] [WP 9355]       13M+    @  missing value
2/6:DRI-365 for Homeowners [WP 84647] [WP 9356]                               14M+    @  missing value
2/7:Cart - Ventilation Megastore [WP 7302] [WP 9357]                          13M+    @  missing value
2/8:boulder DHV-20B preheat power - Google Search [WP 7357] [WP 9358]         13M+    @  missing value
2/9:osascript updating script file - Google Search [WP 8935] [WP 9359]        13M+    @  missing value
2/10:osx lion - Prevent an AppleScript s...ts - Stack Overflow [WP 9360]      81M+    @  https://stackoverflow.com/questions/9487...dification-date-when-using
^^^^^^^^^^^^^^^ above is window 2     Active tab 10

1/1:RouterOS -> WPMikroTik -> Interface Traffic Graphing [WP 9361]            87M+    @  http://192.168.88.1/graphs/iface/wlan2/
1/2:Decrypting TLS Browser Traffic With...| Red Flag Security [WP 9362]       86M+    @  https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/
1/3:"Show Web Process IDs in Page Title" bug - Google Search [WP 10201]       98M+    @  https://www.google.com/search?client=saf...e%22+bug&ie=UTF-8&oe=UTF-8
1/4:Has anyone figured out how to ident...s? - Ask Different [WP 10202]       202M+    @  https://apple.stackexchange.com/question...-of-each-separate-safari-w
^^^^^^^^^^^^^^^ above is window 1     Active tab 4

Window/Tab: Window Title                      MemoryUse    @  URL (may be missing on old tabs, swap window and URL info will change)
EXPLANATION: Front-most window is 1, last listed. Next window back, if any, will be 2, etc.
Left most TAB is 1/1, right most 1/4, probably the most recent.

Note qu'il y a quelques bugs dans Safari (11.1.2 au moins) de sorte que le cache des pages et de leurs titres peut résulter en 0 ou plus de 1 PID dans le titre, la page javascript a 2 anciennes références du cache mais le script prend le dernier, actuel, PID. Si l'URL n'est pas chargée par Safari, le processus est plus petit et la chaîne de l'URL sera manquante.

Envoyez-moi un message si vous êtes intéressé. Je pourrais le mettre sur github...

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X