Alguém descobriu como identificar a página exclusiva de cada processo separado do Safari Web Content com o Safari 7 / Mavericks?

10

Eu sei que não sou o primeiro a pensar nisso.

Algo como o Gerenciador de tarefas do Chrome.

Em resumo, quando você tem várias guias / páginas abertas no novo Safari 7 (fornecido com o Mavericks), cada uma é iniciada como um processo de sistema separado. Você pode visualizar a lista de processos no Activity Monitor, mas não pode ver a página ou URL subjacente de cada processo.

Isso seria muito útil para solucionar problemas de uma página descontrolada ou suspensa que está consumindo ciclos de RAM ou CPU.

A Apple removeu a janela Activity no Safari 6. E agora com o Safari 7, os processos separados são ótimos, mas informações mais detalhadas sobre cada guia seriam realmente ótimas.

Qualquer um?

dmbream
fonte
Sim, a janela Atividade desaparecendo é uma grande perda. Mas a janela Atividade está longe de ser perfeita. No Safari de Yosemite, a Apple levou o problema em consideração. Vamos ver como.
Nicolas Barbulesco 6/06/2014

Respostas:

6

Se você passar o mouse sobre o nome do processo, uma dica de ferramenta será exibida informando o domínio base do URL

insira a descrição da imagem aqui

markhunte
fonte
Mas não é possível ver a URL completa, é? Portanto, se eu tiver, por exemplo, duas guias abertas, o google.com e cada guia tiver outra solicitação de pesquisa, não poderei distinguir entre elas, não? Mas se nada mais é necessário, que este é bastante engenhoso e muito mais simples; D
napcae
Isso está correto :-)
markhunte
1
Maravilhosos, pessoal. Obrigado! Descobri aleatoriamente o truque do mouse e estava voltando aqui para postar a descoberta quando vi suas respostas. Eu nunca recebi nenhuma notificação de acompanhamento da stackechange.
Dmbream
10

Esta não é uma solução ideal, mas uma solução alternativa de trabalho bastante boa.

Abra o Safari e vá para Preferências. Ative a opção Debug (Mostrar menu de desenvolvimento na barra de menus)

Painel de Preferências do Safari EDIT: Em vez de ativar o menu de desenvolvimento, você deve abrir um terminal e ativar o menu de depuração comdefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Obrigado @Collin C.

Você encontrará a opção Show Web Process IDs in Page Titlesem Debug> Miscellaneous Flags

Mostrar IDs de Processo da Web

Se você abrir o Activity Monitor agora, poderá ver os IDs de processo da Web nos sites correspondentes.

ID do Processo da Web e Monitor de Atividade

Espero que isso esteja ajudando você.

napcae
fonte
1
Ao invés de habilitado o menu desenvolvedor nas preferências que você tem para ativar o menu de depuração através da linha de comando com "defaults write com.apple.Safari IncludeInternalDebugMenu -bool verdade"
Colin C.
Boa dica. Mas ainda sentimos o caminho oposto: Processo → Guias.
Nicolas Barbulesco 6/06/2014
3

Atualização: "Quais URLs estão associados a cada PID do Safari?"

Esta é uma atualização sobre o tópico de visualização de quais URLs do Safari estão associados a quais PIDs no Activity Monitor. Estou usando o Safari 8.0.6 no Yosemite 10.10.3 com o menu Debug ativado e com a opção “Mostrar PIDs nos títulos da página” ativada. (Veja acima e abaixo para saber como fazer isso.)

Nicolas B afirmou que "ainda sentimos o caminho oposto: Processo> Guias", referindo-se à procura de uma lista de nomes de guias com base no PID de um único item de linha no Activity Monitor.

Eu posso mostrar como ver todas as guias associadas a um processo da Web (PID) específico, embora isso não traga satisfação completa, pois:

  • é um processo de várias etapas e
  • tentar encontrar a lógica nas atribuições do PID com base em guias é semelhante à leitura das folhas de chá que parece.

Também deve ser lembrado que a listagem de todos os URLs de página associados a qualquer processo da Web único no Activity Monitor não é praticável na interface do usuário como existe hoje. (Eu gostaria que a equipe Safari da Apple o adicionasse na janela de informações para processos da Web!)

Inicialmente, assumi o nome mostrado no item de linha do processo referente à última página inteira aberta por esse PID (não incluindo páginas em cache), mas, infelizmente, isso não parece ser o caso. Não tenho certeza de como o item de linha realmente recebe esse nome. Compartilharei os resultados do meu experimento para encontrar a resposta, seguindo minha explicação de como ver quais guias estão associadas a cada item de linha no Monitor de atividades.

Passo a passo

  1. Ative o menu Debug no Safari

  2. Ative a opção para Mostrar IDs de processo da Web em títulos de página (conforme explicado acima)

  3. Obtenha esta excelente extensão do Safari de Brett Terpstra, TabLinks .
    (Por favor, doe para ele se você achar o plugin útil!)

  4. Execute a extensão pressionando o botão com o pequeno ícone de link (geralmente à esquerda da barra de pesquisa / localização do Safari)

  5. Na extensão, adicione um caractere separador ao modelo usado para exibir os resultados (para futuros trabalhos de pesquisa e substituição).

    Eu inseri um personagem ying-yang, então meu modelo era: [%w-%n]:☯%u☯%t. Isso fornecerá os resultados - incluindo as [WP PID]informações no final de cada nome de guia - das informações de depuração do Safari.

  6. Copie e cole os resultados no seu aplicativo editor de texto favorito. (O Nisus Writer Pro é meu!)

    Faça uma pesquisa e substituição no caractere separador (para mim, ☯) e substitua-o por um caractere de tabulação (aqui está um :).

    Faça outra pesquisa e substituição [WPativada e substitua apenas o espaço inicial único por um caractere de tabulação «tab»[WP. Isso permitirá que você divida os PIDs em uma coluna separada em uma planilha.

    Salve este arquivo como um .tabarquivo de texto sem formatação.

  7. Abra o arquivo de guia em um aplicativo de planilha (usei o Numbers) e divirta-se classificando por PID. Agora há apenas mais um passo ...

  8. No Monitor de atividades , selecione Exibir ▶ ︎ Todos os processos, hierarquicamente e copie e cole a lista de itens de linha que mostram os URLs em sua planilha, ao lado dos nomes e números das guias que você já possui.

    (Você pode descartar todos os dados da coluna que não precisa e apenas manter os URLs e PIDs em duas colunas; ou adicionar a coluna Memória para comparar também o uso de RAM.)

É isso aí; não exatamente rápido, mas não muito complicado. Provavelmente existe uma maneira mais rápida, mas essa foi minha primeira tentativa de obter essas informações.

Depois de fazer isso, você poderá encontrar resultados semelhantes aos meus. Eu tinha 9 janelas abertas com um total de 36 guias, todas contidas em 20 processos "estilo url".

( NOTA: Aqui, estou não incluindo os muitos QTKitServer e conteúdo Safari Web processos Estes correr ao lado de mais, se não todos, dos “processos de URL” Estes processos QTKitServer têm uma pequena pegada de RAM, em comparação com os principais processos de URL”.. ", Por exemplo, 4,5 MB vs 300 MB.)

Observações

  • Eu tinha 9 janelas com 36 abas, rodando em 20 processos

  • O uso de RAM totalizou 5,4 GB (média de 258 MB por processo)

  • A memória privada foi de 2,0 GB no total (média de 97 MB por processo)

  • Qualquer item de linha de processo único pode conter uma ou mais guias (a minha geralmente possui uma ou duas guias por PID)

  • O nome do URL no item de linha parece não seguir nenhum padrão que eu possa discernir, exceto que o nome geralmente (mas NÃO SEMPRE) reflete o URL base de uma das guias atribuídas a esse PID

  • Às vezes, o nome do URL é impreciso! Dos meus 20 processos, 4 usaram uma URL que NÃO estava aberta em nenhuma das minhas guias.

    (Essas páginas podem ser armazenadas em cache, talvez?)

  • Uma nova guia (ou janela) pode ser atribuída a um PID existente ou a um novo processo, aparentemente de maneira "aleatória". Eles não são seqüenciais nem agrupados com nenhuma janela específica; portanto, qualquer janela com várias guias pode ter vários PIDs sendo executados lado a lado.

Isso é o suficiente por enquanto! Espero que alguém muito mais esperto do que eu possa me explicar e explicar um pouco mais! Aloha.

Kaliko Trapp
fonte
0

Eu escrevi um manuscrito, normalmente o executo no terminal, mas ele pode ser facilmente modificado para outra facilidade de uso que combina com você. Saída mostra janela / guia, título, memória usada, URL Com cadeias longas abreviadas para iniciar ... fim

Para obter o tamanho da memória, você precisará de guias que mostrem o ID do processo, conforme detalhado em várias postagens acima.

Exemplo:

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.

Observe que existem alguns bugs no Safari (pelo menos 11.1.2) para que o cache de páginas e seus títulos possa resultar em 0 ou mais de 1 PID no título, a página javascript possui 2 referências antigas do cache, mas o script aceita o último, atual, PID. Se o URL não for carregado pelo Safari, o processo será menor e a string do URL estará ausente.

Me mande um PM se estiver interessado. Eu poderia colocar no github ...

colin
fonte