Ich weiß, dass ich nicht der erste bin, der sich das wundert.
So etwas wie der Chrome Task Manager.
Kurz gesagt, wenn in der neuen Safari 7 (im Lieferumfang von Mavericks enthalten) mehrere Registerkarten / Seiten geöffnet sind, wird jede als separater Systemprozess gestartet. Sie können die Liste der Prozesse im Aktivitätsmonitor anzeigen, jedoch nicht die zugrunde liegende Seite oder URL jedes Prozesses.
Dies ist sehr hilfreich bei der Fehlerbehebung bei einer außer Kontrolle geratenen oder hängenden Seite, die RAM- oder CPU-Zyklen beansprucht.
Apple hat das Aktivitätsfenster in Safari 6 entfernt. Und jetzt mit Safari 7 sind die separaten Prozesse großartig, aber detailliertere Informationen zu den einzelnen Registerkarten wären wirklich großartig.
Jemand?
Antworten:
Wenn Sie mit der Maus über den Namen des Prozesses fahren, wird ein Tooltip mit der URL-Basisdomäne angezeigt
quelle
Dies ist keine ideale Lösung, aber eine recht gute Problemumgehung.
Öffnen Sie Safari und gehen Sie zu Einstellungen. Aktivieren Sie die Debug-Option (Entwicklungsmenü in der Menüleiste anzeigen)BEARBEITEN: Anstatt das Entwicklungsmenü zu aktivieren, müssen Sie ein Terminal öffnen und das Debug-Menü mit aktivieren
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
Danke @Collin C.
Sie finden die Option
Show Web Process IDs in Page Titles
unter Debug> Verschiedene FlagsWenn Sie den Aktivitätsmonitor jetzt öffnen, werden die Webprozess-IDs für die entsprechenden Websites angezeigt.
Ich hoffe das hilft dir.
quelle
Update: "Welche URLs sind mit jeder Safari-PID verknüpft?"
Dies ist ein Update zum Thema Anzeigen, welche Safari-URLs welchen PIDs im Aktivitätsmonitor zugeordnet sind. Ich verwende Safari 8.0.6 unter Yosemite 10.10.3 mit aktiviertem Debug-Menü und aktivierter Option "PIDs in den Seitentiteln anzeigen". (Siehe oben und unten, wie das geht.)
Nicolas B erklärte, dass „wir immer noch den umgekehrten Weg vermissen: Prozess> Registerkarten“ und bezog sich auf die Suche nach einer Liste von Registerkartennamen basierend auf der PID für eine einzelne Position im Aktivitätsmonitor.
Ich kann Ihnen zeigen, wie Sie alle Registerkarten anzeigen, die einem bestimmten Webprozess (PID) zugeordnet sind, obwohl dies möglicherweise nicht vollständig zufriedenstellend ist, da:
Es sollte auch beachtet werden, dass das Auflisten aller Seiten-URLs, die einem einzelnen Webprozess in Activity Monitor zugeordnet sind, in der Benutzeroberfläche, wie sie heute vorhanden ist, nicht praktikabel ist. (Ich wünschte, das Safari-Team von Apple würde es jedoch in das Infofenster für Webprozesse aufnehmen!)
Zuerst habe ich den Namen angenommen, der in der Prozesszeile angezeigt wird und auf die letzte vollständige Seite verweist, die von dieser PID geöffnet wurde (ohne zwischengespeicherte Seiten), aber leider scheint dies nicht der Fall zu sein. Ich bin nicht sicher, wie die Werbebuchung tatsächlich ihren Namen erhält. Ich werde die Ergebnisse meines Experiments teilen, um die Antwort zu finden, nachdem ich erklärt habe, wie Sie sehen können, welche Registerkarten den einzelnen Werbebuchungen im Aktivitätsmonitor zugeordnet sind.
Schritt für Schritt
Aktivieren Sie das Debug-Menü in Safari
Aktivieren Sie die Option zum Anzeigen von Webprozess-IDs in Seitentiteln (wie oben erläutert).
Holen Sie sich diese hervorragende Safari-Erweiterung von Brett Terpstra, TabLinks .
(Bitte spende an ihn, wenn du das Plugin nützlich findest!)
Führen Sie die Erweiterung aus, indem Sie die Taste mit dem kleinen Link-Symbol drücken (normalerweise links von der Such- / Standortleiste von Safari).
Fügen Sie in der Erweiterung der Vorlage, die zum Anzeigen der Ergebnisse verwendet wird, ein Trennzeichen hinzu (für zukünftige Such- und Ersetzungsarbeiten).
Ich habe ein Ying-Yang-Zeichen eingefügt, daher war meine Vorlage :
[%w-%n]:☯%u☯%t
. Auf diese Weise erhalten Sie die Ergebnisse - einschließlich der[WP PID]
Informationen am Ende jedes Registerkartennamens - aus den Debugging-Informationen von Safari.Kopieren Sie die Ergebnisse und fügen Sie sie in Ihre bevorzugte Texteditor-App ein. (Nisus Writer Pro gehört mir!)
Führen Sie eine Suche und Ersetzung für Ihr Trennzeichen durch (für mich ☯), und ersetzen Sie sie durch ein Tabulatorzeichen (hier eines :)
.
Führen Sie ein weiteres Suchen und Ersetzen
[WP
durch und ersetzen Sie nur das einzelne führende Leerzeichen durch ein Tabulatorzeichen«tab»[WP
. Auf diese Weise können Sie die PIDs in einer Tabelle in eine separate Spalte aufteilen.Speichern Sie diese Datei als
.tab
reine Textdatei.Öffnen Sie die Tab-Datei in einer Tabellenkalkulations-App (ich habe Zahlen verwendet) und haben Sie Spaß beim Sortieren nach PID. Jetzt gibt es nur noch einen Schritt ...
Im Activity Monitor , wählen Sie Prozesse Ansicht ▶ ︎ Alle, Hierarchisch und copy-paste die Liste der Line-Elemente URLs in Ihre Tabelle neben den Registerkarten Namen und Zahlen , die Sie bereits haben dort zeigt.
(Sie können alle nicht benötigten Spaltendaten verwerfen und die URLs und PIDs einfach in zwei Spalten aufbewahren. Oder Sie können die Spalte Speicher hinzufügen, um auch die RAM-Nutzung zu vergleichen.)
Das ist es; nicht gerade schnell, aber nicht besonders kompliziert. Es gibt wahrscheinlich einen schnelleren Weg, aber dies war mein erster Versuch, diese Informationen zu erhalten.
Danach finden Sie möglicherweise ähnliche Ergebnisse wie ich. Ich hatte 9 geöffnete Fenster mit insgesamt 36 Registerkarten, die alle in 20 Prozessen im URL-Stil enthalten waren.
( Hinweis: Hier bin ich nicht auch die vielen QTKitServer und Safari Web Content Prozesse Diese laufen neben den meisten, wenn nicht alles der „url Prozesse“ Diese QTKitServer Prozesse einen kleinen RAM - Fußabdruck im Vergleich zu den wichtigsten „url Prozesse haben.. ”, Z. B. 4,5 MB gegenüber 300 MB.)
Beobachtungen
Ich hatte 9 Fenster mit 36 Registerkarten, die in 20 Prozessen ausgeführt wurden
Die RAM-Nutzung betrug insgesamt 5,4 GB (durchschnittlich 258 MB pro Prozess).
Der private Speicher betrug insgesamt 2,0 GB (durchschnittlich 97 MB pro Prozess).
Jede einzelne Prozessposition kann eine oder mehrere Registerkarten enthalten (meine hatte normalerweise eine oder zwei Registerkarten pro PID).
Der URL-Name in der Werbebuchung scheint keinem erkennbaren Muster zu folgen, außer dass der Name normalerweise (aber NICHT IMMER) die Basis-URL einer der dieser PID zugewiesenen Registerkarten widerspiegelt
Manchmal ist der URL-Name ungenau! Von meinen 20 Prozessen verwendeten 4 eine URL, die in keinem meiner Tabs geöffnet war.
(Könnten dies vielleicht zwischengespeicherte Seiten sein?)
Eine neue Registerkarte (oder ein neues Fenster) kann entweder einer vorhandenen PID oder einem neuen Prozess scheinbar „zufällig“ zugewiesen werden. Sie sind weder sequentiell noch mit einem bestimmten Fenster gruppiert. Daher können in jedem Fenster mit mehreren Registerkarten mehrere PIDs nebeneinander ausgeführt werden.
Das reicht fürs Erste! Ich hoffe, jemand ist viel schlauer als ich mitkommen und ein bisschen mehr erklären kann! Aloha.
quelle
Ich habe ein Applescript geschrieben, das normalerweise vom Terminal aus ausgeführt wird, aber es kann leicht für eine andere Benutzerfreundlichkeit geändert werden, die zu Ihnen passt. Die Ausgabe zeigt Fenster / Tab, Titel, verwendeten Speicher, URL mit langen Zeichenfolgen, die zum Starten ... Ende gekürzt wurden
Um die Speichergröße zu erhalten, benötigen Sie Registerkarten mit der Prozess-ID, wie in mehreren obigen Beiträgen beschrieben. Ich verwende eine Funktion, um das Skript über Osascript auszuführen, die alle in den Kommentaren in der Datei angegeben sind.
Beispiel:
Beachten Sie, dass es in Safari einige Fehler gibt (mindestens 11.1.2), sodass der Cache von Seiten und deren Titeln zu 0 oder mehr als 1 PID im Titel führen kann. Die Javascript-Seite enthält 2 alte Verweise aus dem Cache, aber das Skript übernimmt die letzte, aktuelle, PID. Wenn die URL nicht von Safari geladen wird, ist der Prozess kleiner und die URL-Zeichenfolge fehlt.
Schreiben Sie mir bei Interesse eine PM. Ich könnte es auf Github stellen ...
quelle