Хтось придумав, як визначити унікальну сторінку кожного окремого процесу веб-вмісту Safari за допомогою Safari 7 / Mavericks?


10

Я знаю, що я не перший, хто задається цим питанням.

Щось на зразок диспетчера завдань Chrome.

Коротше кажучи, коли у новому Safari 7 (що постачається разом з Mavericks) у вас відкрито кілька вкладок / сторінок, кожна з них запускається як окремий системний процес. Ви можете переглянути список процесів у "Моніторі діяльності", але ви не бачите основної сторінки або URL-адреси кожного процесу.

Це було б дуже корисно для усунення неполадок, пов’язаних із відбіжною або звисаючою сторінкою, яка висмоктує цикли оперативної пам’яті та процесора.

Apple видалила вікно «Активність» у Safari 6. А тепер із Safari 7 окремі процеси чудові, але більш детальна інформація про кожну вкладку була б справді чудовою.

Хтось?


Так, вікно активності, яке відходить, - це велика втрата. Але вікно активності далеко не ідеальне. У Safari Yosemite Apple врахувала цю проблему. Ми побачимо, як.
Ніколя Барбулеско

Відповіді:


6

Якщо ви наведіть курсор миші на ім’я Обробити, підказка з’явиться, що повідомляє вам домен бази даних

введіть тут опис зображення


Але не можливо побачити повну URL-адресу? Отже, якщо у мене відкриті, наприклад, дві вкладки, обидві google.com і кожна вкладка має ще один запит на пошук, то я не зможу розрізнити це, чи не так? Але якщо більше нічого не потрібно, то це досить геніально і набагато простіше; D
napcae

Це правильно :-)
markhunte

1
Чудово, хлопці. Дякую! Щойно випадковим чином я виявив трюк на миші самостійно і повертався сюди, щоб опублікувати знахідку, коли побачив ваші відповіді. Я ніколи не отримував жодних сповіщень від стекету.
dmbream

10

Це не ідеальне рішення, але досить хороший робочий шлях.

Відкрийте Safari, потім перейдіть до Налаштування. Активуйте параметр «Налагодження» (Показати меню розробки в рядку меню)

Панель налаштувань Safari EDIT: Замість того, щоб активувати меню розробки, вам потрібно відкрити термінал та активувати меню налагодження за допомогоюdefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Спасибі @Collin C.

Цей параметр ви знайдете у Show Web Process IDs in Page Titlesрозділі Налагодження> Різні прапори

Показати ідентифікатори веб-процесів

Якщо зараз відкрити Монітор активності, ви можете побачити ідентифікатори веб-процесів на відповідних веб-сайтах.

Ідентифікатор веб-процесів та монітор активності

Я сподіваюся, що це вам допомагає.


1
Замість того, щоб увімкнено меню розробника у налаштуваннях, ви повинні увімкнути меню налагодження за допомогою командного рядка з "за замовчуванням написати com.apple.Safari IncludeInternalDebugMenu -bool true"
Colin C.

Гарна порада. Але ми все одно пропускаємо зворотний шлях: Процес → Вкладки
Ніколя Барбулеско

3

Оновлення: "Які URL-адреси пов’язані з кожним PID Safari?"

Це оновлення на тему, щоб побачити, які URL-адреси Safari пов’язані з якими ПІД-адресами в Моніторі діяльності. Я використовую Safari 8.0.6 на Yosemite 10.10.3 з увімкненим меню «Налагодження» та увімкнено опцію «Показати PID в заголовках сторінок». (Про те, як це зробити, див. Вище та нижче.)

Ніколяс Б заявив, що "ми все ще не вистачаємо зворотного шляху: Опрацювати> Вкладки", маючи на увазі пошук списку імен вкладок на основі PID-позиції одного рядка в "Моніторі діяльності".

Я можу показати вам, як бачити всі вкладки, пов’язані з певним веб-процесом (PID), хоча це може не повністю приносити задоволення, оскільки:

  • це багатоетапний процес, і
  • намагання знайти логіку в завданнях PID на основі вкладок схоже на читання чайних листків, здається.

Слід також пам’ятати, що перерахування всіх URL-адрес сторінок, пов’язаних з будь-яким єдиним веб-процесом в межах Monitor Monitor, неможливо здійснити в інтерфейсі користувача, як це існує сьогодні. (Хочеться, що команда Safari від Apple додасть її у вікно інформації для веб-процесів!)

Спочатку я припустив, що ім'я, відображене в рядку-позиції процесу, віднесеному до останньої повної сторінки, відкритої цим PID (не включаючи кешовані сторінки), але, на жаль, це не так. Я не впевнений, як фактично позиція отримала свою назву. Я поділюся результатами свого експерименту, щоб знайти відповідь, пояснивши моє пояснення, як побачити, які вкладки пов’язані з кожною позицією в Моніторі діяльності.

Крок за кроком

  1. Увімкніть меню налагодження в Safari

  2. Увімкніть параметр Показувати ідентифікатори веб-процесів у заголовках сторінки (як пояснено вище)

  3. Отримайте це відмінне розширення Safari від Brett Terpstra, TabLinks .
    (Будь ласка, пожертвуйте його, якщо ви вважаєте плагін корисним!)

  4. Запустіть розширення, натиснувши кнопку з невеликою піктограмою посилання (зазвичай ліворуч від рядка пошуку / розташування Safari)

  5. У розширенні додайте символ-роздільник у шаблон, який використовується для відображення результатів (для майбутніх робіт із пошуку та заміни).

    Я вставив символ інь-янь, так що мій шаблон був: [%w-%n]:☯%u☯%t. Це дасть вам результати - включаючи [WP PID]інформацію в кінці назви кожної вкладки - від інформації про налагодження Safari.

  6. Скопіюйте та вставте результати у свою улюблену програму текстового редактора. (Програма Nisus Writer Pro моя!)

    Зробіть пошук та заміну символів роздільника (для мене, ☯) та замініть їх символом вкладки (ось такий:) .

    Зробіть інший пошук і заміна ввімкніть [WPі замініть лише один провідний пробіл символом вкладки «tab»[WP. Це дозволить розділити PID-адреси на окремий стовпчик у таблиці.

    Збережіть цей файл як .tabзвичайний текстовий файл.

  7. Відкрийте файл вкладки в додатку для електронних таблиць (я використовував Numbers) і отримайте задоволення від сортування за PID. Тепер є ще один крок ...

  8. У « Моніторі активності» виберіть Переглянути ▶ ︎ Усі процеси, ієрархічно та скопіюйте в таблицю список рядків-позицій, що відображають URL-адреси, поряд з іменами та номерами вкладок, які у вас уже є.

    (Ви можете відкинути всі потрібні вам дані стовпців і просто зберегти URL-адреси та PID-адреси у двох стовпцях; або додати стовпець Пам'ять для порівняння використання оперативної пам’яті.)

Це воно; не зовсім швидкий, але не страшенно складний. Можливо, є більш швидкий шлях, але це була моя перша спроба отримати цю інформацію.

Після цього ви можете виявити результати, схожі на мої. У мене було відкрито 9 вікон із загальною кількістю 36 вкладок, усі вони містилися в 20 процесах у стилі URL-адреси.

( ПРИМІТКА. Тут я не включаю багато процесів веб-вмісту QTKitServer і Safari . Вони проходять поряд з більшістю (якщо не всіма) "url-процесами". Ці процеси QTKitServer мають невеликий слід оперативної пам'яті порівняно з основними процесами "url". ", Наприклад, 4,5 МБ проти 300 МБ.)

Спостереження

  • У мене було 9 вікон з 36 вкладками, які працювали в 20 процесах

  • Використання оперативної пам’яті було загалом 5,4 ГБ (в середньому 258 МБ на процес)

  • Приватна пам'ять становила 2,0 ГБ (в середньому 97 МБ на процес)

  • Будь-яка окрема позиція процесу може містити одну або кілька вкладок (у мене зазвичай було одна або дві вкладки на PID)

  • Ім’я URL-адреси в рядку-позиції не відповідає жодному шаблону, який я можу розрізнити, за винятком того, що ім'я зазвичай (але НЕ ЗАВЖДИНО) відображає основну URL-адресу однієї з вкладок, призначених цьому PID

  • Іноді ім’я URL-адреси є неточним! З моїх 20 процесів 4 використовували URL-адресу, яку НЕ відкривали в жодній із моїх вкладок.

    (Можливо, це можуть бути кешовані сторінки, можливо?)

  • Нова вкладка (або вікно) може бути призначена або існуючому PID, або новому процесу, здавалося б, "випадковим" способом. Вони не є ні послідовними, ні групуються з яким-небудь конкретним вікном; таким чином, будь-яке вікно з декількома вкладками може мати кілька PID, що працюють поруч.

Цього зараз достатньо! Я сподіваюся, що хтось набагато розумніший, ніж я, можу підійти і пояснити трохи більше! Алоха.


0

Я написав яблучний сценарій, як правило, запускаю його з терміналу, але його можна легко змінити для зручності використання. Вихідні дані показують вікно / вкладку, заголовок, використану пам'ять, URL-адреса З довгими рядками, скороченими до початку ... кінця

Для отримання розміру пам’яті вам знадобляться вкладки, де відображається ідентифікатор процесу, докладно описаний у кількох публікаціях. Я використовую функцію для запуску скрипту через osascript, все зазначено в коментарях до цього файлу.

Приклад:

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+    @  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.

Зауважте, що в Safari є кілька помилок (принаймні 11.1.2), так що кеш сторінок та їх назв може призвести до 0 або більше 1 PID в заголовку, на сторінці javascript є 2 старі посилання з кеша, але сценарій бере на себе останній, поточний, PID. Якщо URL не завантажений Safari, тоді процес буде меншим, а рядок URL не буде.

Якщо вам цікаво, киньте мене. Я міг би поставити це на Github ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.