Qualcuno ha capito come identificare la pagina univoca di ogni processo di contenuto Web Safari separato con Safari 7 / Mavericks?


10

So di non essere il primo a chiedermelo.

Qualcosa come il Task Manager di Chrome.

In breve, quando hai più schede / pagine aperte nel nuovo Safari 7 (fornito con Mavericks), ognuna viene avviata come un processo di sistema separato. È possibile visualizzare l'elenco dei processi in Activity Monitor, ma non è possibile visualizzare la pagina o l'URL sottostante di ciascun processo.

Ciò sarebbe molto utile per la risoluzione dei problemi di una pagina in fuga o sospesa che risucchia i cicli di RAM o CPU.

Apple ha rimosso la finestra Attività in Safari 6. E ora con Safari 7, i processi separati sono fantastici, ma informazioni più dettagliate su ciascuna scheda sarebbero davvero fantastiche.

Chiunque?


Sì, la finestra Attività che va via è una grande perdita. Ma la finestra delle attività è tutt'altro che perfetta. In Yosemite's Safari, Apple ha tenuto conto del problema. Vedremo come.
Nicolas Barbulesco,

Risposte:


6

Se passi il mouse sopra il nome del processo, apparirà una descrizione che ti dirà il dominio Base URL

inserisci qui la descrizione dell'immagine


Ma non è possibile vedere l'URL completo, vero? Quindi, se ad esempio ho aperto due schede, sia google.com che ciascuna scheda hanno un'altra richiesta di ricerca, non sarò in grado di distinguere tra quelle no? Ma se non è necessario altro, questo è abbastanza ingegnoso e molto più semplice; D
napcae,

È corretto :-)
markhunte,

1
Fantastico ragazzi. Grazie! Ho appena scoperto il trucco del mouse da solo e stavo tornando qui per pubblicare la scoperta quando ho visto le tue risposte. Non ho mai ricevuto alcuna notifica di follow-up da StackChange.
dmbream,

10

Questa non è una soluzione ideale ma una soluzione alternativa abbastanza buona.

Apri Safari quindi vai su Preferenze. Attiva l'opzione Debug (Mostra menu di sviluppo nella barra dei menu)

Riquadro preferenze Safari EDIT: Invece di attivare il menu di sviluppo, è necessario aprire un terminale e attivare il menu di debug condefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Grazie @Collin C.

Troverai l'opzione Show Web Process IDs in Page Titlesin Debug> Bandiere varie

Mostra ID processo Web

Se si apre Activity Monitor ora, è possibile visualizzare gli ID processo Web sui siti Web corrispondenti.

ID processo Web e Activity Monitor

Spero che questo ti stia aiutando.


1
Anziché abilitare il menu sviluppatore nelle preferenze, devi abilitare il menu debug tramite la riga di comando con "impostazioni predefinite write com.apple.Safari IncludeInternalDebugMenu -bool true"
Colin C.

Bel consiglio. Ma ci manca ancora il contrario: Elaborazione → Schede.
Nicolas Barbulesco,

3

Aggiornamento: "Quali URL sono associati a ciascun PID Safari?"

Questo è un aggiornamento sull'argomento di vedere quali URL Safari sono associati a quali PID in Activity Monitor. Sto usando Safari 8.0.6 su Yosemite 10.10.3 con il menu Debug attivo e con l'opzione "Mostra PID nei titoli delle pagine" attiva. (Vedi sopra e sotto per come fare.)

Nicolas B ha affermato che "ci manca ancora la strada opposta: Elaborazione> Schede", riferendosi alla ricerca di un elenco di nomi di schede basato sul PID a singolo elemento pubblicitario in Activity Monitor.

Posso mostrarti come visualizzare tutte le schede associate a un particolare processo Web (PID), anche se potrebbe non portare completamente soddisfazione, poiché:

  • è un processo in più fasi e
  • cercare di trovare la logica nelle assegnazioni PID in base alle schede è simile a leggere le foglie di tè.

Va inoltre ricordato che elencare tutti gli URL di pagina associati a qualsiasi singolo processo Web in Activity Monitor non è praticabile nell'interfaccia utente come esiste oggi. (Vorrei che il team Safari di Apple lo aggiungesse nella finestra informativa per i processi Web, tuttavia!)

Inizialmente, ho assunto il nome mostrato sull'elemento pubblicitario di processo riferito all'ultima pagina intera aperta da quel PID (escluse le pagine memorizzate nella cache), ma purtroppo questo non sembra essere il caso. Non sono sicuro di come l'elemento pubblicitario ottenga effettivamente il suo nome. Condividerò i risultati del mio esperimento per trovare la risposta che segue la mia spiegazione su come vedere quali schede sono associate a ciascun elemento pubblicitario in Activity Monitor.

Passo dopo passo

  1. Attiva il menu Debug in Safari

  2. Abilita l'opzione per mostrare gli ID dei processi Web nei titoli delle pagine (come spiegato sopra)

  3. Ottieni questa eccellente estensione Safari da Brett Terpstra, TabLinks .
    (Per favore, fai una donazione se trovi utile il plugin!)

  4. Esegui l'estensione premendo il pulsante con l'icona di collegamento piccola (di solito a sinistra della barra di ricerca / posizione di Safari)

  5. Nell'estensione, aggiungi un carattere di separazione nel modello utilizzato per visualizzare i risultati (per future attività di ricerca e sostituzione).

    Ho inserito un personaggio ying-yang, quindi il mio modello era: [%w-%n]:☯%u☯%t. Questo ti darà i risultati - comprese le [WP PID]informazioni alla fine di ogni nome di scheda - dalle informazioni di debug di Safari.

  6. Copia e incolla i risultati nella tua app di editor di testo preferita. (Nisus Writer Pro è mio!)

    Esegui una ricerca e sostituzione sul tuo carattere di separazione (per me,,) e sostituiscilo con un carattere di tabulazione (eccone uno:) .

    Esegui un'altra ricerca e sostituzione [WPe sostituisci solo il singolo spazio iniziale con un carattere di tabulazione «tab»[WP. Ciò ti consentirà di dividere i PID in una colonna separata in un foglio di calcolo.

    Salvare questo file come .tabfile di testo semplice.

  7. Apri il file della scheda in un'app per fogli di calcolo (ho usato Numbers) e divertiti a ordinare per PID. Ora c'è solo un altro passo ...

  8. In Activity Monitor , seleziona Visualizza ▶ ︎ Tutti i processi, in ordine gerarchico , e copia e incolla l'elenco degli elementi pubblicitari che mostrano gli URL nel foglio di lavoro, accanto ai nomi delle schede e ai numeri che hai già lì.

    (Puoi scartare tutti i dati della colonna che non ti servono e mantenere semplicemente gli URL e i PID in due colonne; oppure, aggiungi la colonna Memoria per confrontare anche l'utilizzo della RAM.)

Questo è tutto; non esattamente veloce, ma non tremendamente complicato. Probabilmente c'è un modo più veloce, ma questo è stato il mio primo tentativo di ottenere queste informazioni.

Dopo averlo fatto, potresti trovare risultati simili al mio. Avevo 9 finestre aperte con un totale di 36 schede, tutte contenute in 20 processi di tipo "url-style".

( NOTA: qui, non includo i numerosi processi di contenuto Web QTKitServer e Safari . Questi sono eseguiti insieme alla maggior parte, se non a tutti, dei "processi url". Questi processi QTKitServer hanno un ingombro RAM ridotto rispetto ai principali "processi url ", Ad es. 4,5 MB contro 300 MB.)

osservazioni

  • Avevo 9 finestre con 36 schede, in esecuzione in 20 processi

  • L'utilizzo della RAM è stato di 5,4 GB (in media 258 MB per processo)

  • La memoria privata era totale di 2,0 GB (media 97 MB per processo)

  • Ogni singolo elemento pubblicitario di processo può contenere una o più schede (la mia di solito aveva una o due schede per PID)

  • Il nome dell'URL nell'elemento pubblicitario non sembra seguire alcun modello che riesco a discernere, tranne per il fatto che il nome di solito (ma NON SEMPRE) riflette l'URL di base di una delle schede assegnate a quel PID

  • A volte il nome URL non è preciso! Dei miei 20 processi, 4 hanno utilizzato un URL NON aperto in nessuna delle mie schede.

    (Potrebbero essere pagine memorizzate nella cache, forse?)

  • Una nuova scheda (o finestra) può essere assegnata a un PID esistente o a un nuovo processo, apparentemente in modo "casuale". Non sono né sequenziali né raggruppati con alcuna finestra particolare; pertanto, qualsiasi finestra con più schede può avere diversi PID in esecuzione uno accanto all'altro.

Questo è abbastanza per ora! Spero che qualcuno sia molto più intelligente di quanto possa venire e spiegare un po 'di più! Aloha.


0

Ho scritto un applecript, normalmente lo eseguo dal terminale, ma potrebbe essere facilmente modificato per qualche altra facilità d'uso adatta a te. L'output mostra finestra / scheda, titolo, memoria utilizzata, URL Con stringhe lunghe accorciate per iniziare ... fine

Per ottenere la dimensione della memoria sono necessarie schede che mostrano l'ID del processo come dettagliato da diversi post sopra. Uso una funzione per eseguire lo script tramite osascript, tutto annotato nei commenti nel file.

Esempio:

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+    @  /programming/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+    @  /apple//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.

Nota che ci sono alcuni bug in Safari (almeno 11.1.2) in modo che la cache di pagine e i loro titoli possano dare come risultato 0 o più di 1 PID nel titolo, la pagina javascript ha 2 vecchi riferimenti dalla cache ma lo script prende il ultimo, attuale, PID. Se l'URL non viene caricato da Safari, il processo è più piccolo e la stringa dell'URL mancherà.

Mandami un PM se interessati. Potrei metterlo su Github ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.