¿Alguien ha descubierto cómo identificar la página única de cada proceso de contenido web Safari con Safari 7 / Mavericks?

10

Sé que no soy el primero en preguntarse esto.

Algo así como el Administrador de tareas de Chrome.

En resumen, cuando tiene varias pestañas / páginas abiertas en el nuevo Safari 7 (incluido con Mavericks), cada una se inicia como un proceso de sistema separado. Puede ver la lista de procesos en el Monitor de actividad, pero no puede ver la página subyacente o la URL de cada proceso.

Esto sería muy útil para solucionar problemas de una página desbocada o colgada que está absorbiendo RAM o ciclos de CPU.

Apple eliminó la ventana Actividad en Safari 6. Y ahora con Safari 7, los procesos separados son geniales, pero una información más detallada sobre cada pestaña sería realmente genial.

¿Nadie?

dmbream
fuente
Sí, la ventana de Actividad desaparecer es una gran pérdida. Pero la ventana Actividad está lejos de ser perfecta. En el Safari de Yosemite, Apple ha tenido en cuenta el problema. Ya veremos cómo.
Nicolas Barbulesco

Respuestas:

6

Si pasa el mouse sobre el nombre del Proceso, aparecerá una información sobre herramientas que le indicará el dominio base de URL

ingrese la descripción de la imagen aquí

Markhunte
fuente
Pero no es posible ver la URL completa, ¿verdad? Entonces, si tengo, por ejemplo, dos pestañas abiertas, tanto google.com como cada pestaña tiene otra solicitud de búsqueda, entonces no podré distinguir entre esas ¿no es así? Pero si no se necesita nada más, esto es bastante ingenioso y mucho más simple; D
napcae
Eso es correcto :-)
markhunte
1
Maravillosos, muchachos. ¡Gracias! Descubrí al azar el truco del mouseover por mi cuenta y volví aquí para publicar el hallazgo cuando vi sus respuestas. Nunca recibí ninguna notificación de seguimiento de stackechange.
dmbream
10

Esta no es una solución ideal, sino una solución de trabajo bastante buena.

Abre Safari y luego ve a Preferencias. Active la opción Depuración (Mostrar menú de desarrollo en la barra de menú)

Panel de preferencias de Safari EDITAR: en lugar de activar el menú de desarrollo, debe abrir un terminal y activar el menú de depuración condefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Gracias @Collin C.

Encontrará la opción Show Web Process IDs in Page Titlesen Depuración> Banderas varias

Mostrar ID de proceso web

Si abre el Monitor de actividad ahora, puede ver las ID de proceso web en los sitios web correspondientes.

ID de proceso web y monitor de actividad

Espero que esto te esté ayudando.

napa
fuente
1
En lugar de habilitar el menú de desarrollador en las preferencias, debe habilitar el menú de depuración a través de la línea de comandos con "valores predeterminados escribir com.apple.Safari IncludeInternalDebugMenu -bool true"
Colin C.
Buen consejo. Pero todavía echamos de menos lo contrario: Proceso → Pestañas.
Nicolas Barbulesco
3

Actualización: "¿Qué URL están asociadas con cada PID de Safari?"

Esta es una actualización sobre el tema de ver qué URL de Safari están asociadas con qué PID en el Monitor de actividad. Estoy usando Safari 8.0.6 en Yosemite 10.10.3 con el menú Depuración activado, y con la opción "Mostrar PID en los títulos de las páginas" activada. (Ver arriba y abajo para saber cómo hacer esto).

Nicolas B declaró que "todavía echamos de menos lo contrario: Proceso> Pestañas", refiriéndose a la búsqueda de una lista de nombres de pestañas basada en el PID de una sola línea de pedido en el Monitor de actividad.

Puedo mostrarle cómo ver todas las pestañas asociadas con un proceso web (PID) en particular, aunque puede que no satisfaga por completo, ya que:

  • Es un proceso de varios pasos, y
  • intentar encontrar la lógica en las asignaciones de PID basadas en pestañas es similar a leer hojas de té, parece.

También debe recordarse que enumerar todas las URL de páginas asociadas con cualquier proceso web individual dentro de Activity Monitor no es factible en la interfaz de usuario tal como existe hoy. (¡Sin embargo, desearía que el equipo Safari de Apple lo agregara a la ventana de información para procesos web!)

Al principio, asumí el nombre que se muestra en la línea de pedido del proceso referido a la última página completa abierta por ese PID (sin incluir las páginas en caché), pero desafortunadamente este no parece ser el caso. No estoy seguro de cómo la línea de pedido realmente recibe su nombre. Compartiré los resultados de mi experimento para encontrar la respuesta después de mi explicación de cómo ver qué pestañas están asociadas con cada elemento de línea en el Monitor de actividad.

Paso a paso

  1. Active el menú Depurar en Safari

  2. Habilite la opción para mostrar ID de procesos web en títulos de página (como se explicó anteriormente)

  3. Obtenga esta excelente extensión de Safari de Brett Terpstra, TabLinks .
    (¡Por favor done a él si encuentra útil el complemento!)

  4. Ejecute la extensión presionando el botón con el ícono de enlace pequeño (generalmente a la izquierda de la barra de búsqueda / ubicación de Safari)

  5. En la extensión, agregue un carácter separador en la plantilla utilizada para mostrar los resultados (para futuros trabajos de búsqueda y reemplazo).

    He insertado un carácter ying-yang, así que mi plantilla fue: [%w-%n]:☯%u☯%t. Esto le dará los resultados, incluida la [WP PID]información al final de cada nombre de pestaña, de la información de depuración de Safari.

  6. Copie y pegue los resultados en su aplicación de editor de texto favorita. (¡Nisus Writer Pro es mío!)

    Haga una búsqueda y reemplazo en su carácter separador (para mí, ☯), y reemplácelos con un carácter de tabulación (aquí hay uno:) .

    Realice otra búsqueda y reemplazo [WPy reemplace solo el espacio inicial con un carácter de tabulación «tab»[WP. Esto le permitirá dividir los PID en una columna separada en una hoja de cálculo.

    Guarde este archivo como un .tabarchivo de texto sin formato.

  7. Abra el archivo de pestañas en una aplicación de hoja de cálculo (usé Numbers) y diviértase clasificando por PID. Ahora solo hay un paso más ...

  8. En el Monitor de actividad , seleccione Ver ▶ ︎ Todos los procesos, jerárquicamente , y copie y pegue la lista de elementos de línea que muestran las URL en su hoja de cálculo, junto con los nombres y números de pestañas que ya tiene allí.

    (Puede descartar todos los datos de columna que no necesita y simplemente mantener las URL y PID en dos columnas; o, agregar la columna Memoria para comparar el uso de RAM también).

Eso es; no exactamente rápido, pero no terriblemente complicado. Probablemente haya una forma más rápida, pero este fue mi primer intento de obtener esta información.

Después de hacer esto, puede encontrar resultados similares a los míos. Tenía 9 ventanas abiertas con un total de 36 pestañas, todas contenidas en 20 procesos de "estilo url".

( NOTA: Aquí, no incluyo los muchos procesos QTKitServer y Safari Web Content . Estos se ejecutan junto con la mayoría, si no todos, de los "procesos url". Estos procesos QTKitServer tienen una pequeña huella RAM en comparación con los principales "procesos url" ", Por ejemplo, 4.5 MB frente a 300 MB.)

Observaciones

  • Tenía 9 ventanas con 36 pestañas, ejecutándose en 20 procesos

  • El uso de RAM fue de un total de 5.4 GB (promedio de 258 MB por proceso)

  • La memoria privada fue de 2.0 GB en total (promedio de 97 MB por proceso)

  • Cualquier línea de pedido de un solo proceso puede contener una o más pestañas (la mía generalmente tenía una o dos pestañas por PID)

  • El nombre de la URL en la línea de pedido no parece seguir ningún patrón que pueda discernir, excepto que el nombre generalmente (pero NO SIEMPRE) refleja la URL base de una de las pestañas asignadas a ese PID

  • ¡A veces el nombre de la URL es incorrecto! De mis 20 procesos, 4 usaron una URL que NO estaba abierta en ninguna de mis pestañas.

    (¿Podrían ser estas páginas en caché, tal vez?)

  • Se puede asignar una nueva pestaña (o ventana) a un PID existente o a un nuevo proceso, aparentemente de forma "aleatoria". No son secuenciales ni están agrupados con ninguna ventana en particular; por lo tanto, cualquier ventana con múltiples pestañas puede tener varios PID ejecutándose uno al lado del otro.

¡Esto es suficiente por ahora! ¡Espero que alguien mucho más inteligente que yo pueda venir y explicar un poco más! Aloha

Kaliko Trapp
fuente
0

Escribí un applecript, normalmente lo ejecuto desde la terminal, pero podría modificarse fácilmente para alguna otra facilidad de uso que se adapte a usted. La salida muestra la ventana / pestaña, título, memoria utilizada, URL Con cadenas largas acortadas para comenzar ... finalizar

Para obtener el tamaño de la memoria, necesitará pestañas que muestren la ID del proceso como se detalla en varias publicaciones anteriores. Uso una función para ejecutar el script a través de osascript, todo anotado en los comentarios en el archivo.

Ejemplo:

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.

Tenga en cuenta que hay algunos errores en Safari (al menos 11.1.2) para que la memoria caché de las páginas y sus títulos puedan dar como resultado 0 o más de 1 PID en el título, la página de JavaScript tiene 2 referencias antiguas de la memoria caché, pero el script toma el último, actual, PID. Si Safari no carga la URL, el proceso es más pequeño y falta la cadena de URL.

Déjame un PM si está interesado. Podría ponerlo en github ...

colin
fuente