Adakah yang tahu cara mengidentifikasi halaman unik dari setiap proses Konten Web Safari yang terpisah dengan Safari 7 / Mavericks?


10

Saya tahu saya bukan orang pertama yang bertanya-tanya ini.

Sesuatu seperti Pengelola Tugas Chrome.

Singkatnya, ketika Anda memiliki banyak tab / halaman terbuka di Safari 7 baru (dikirimkan bersama Mavericks), masing-masing diluncurkan sebagai proses sistem terpisah. Anda dapat melihat daftar proses di Monitor Aktivitas, tetapi Anda tidak dapat melihat halaman atau URL yang mendasari setiap proses.

Ini akan sangat membantu untuk memecahkan masalah halaman yang tidak dapat diakses atau tergantung yang menyedot siklus RAM atau CPU.

Apple menghapus jendela Activity di Safari 6. Dan sekarang dengan Safari 7, proses terpisahnya bagus, tetapi info yang lebih terperinci tentang setiap tab akan sangat bagus.

Siapa saja?


Yap, jendela Activity hilang begitu saja. Tetapi jendela Activity jauh dari sempurna. Di Yosemite's Safari, Apple telah mempertimbangkan masalah ini. Kita akan lihat caranya.
Nicolas Barbulesco

Jawaban:


6

Jika Anda mengarahkan mouse ke atas nama Proses, Tooltip akan muncul memberi tahu Anda domain Base URL

masukkan deskripsi gambar di sini


Tetapi tidak mungkin melihat URL lengkapnya bukan? Jadi jika saya memiliki misalnya dua tab terbuka, baik google.com dan masing-masing tab memiliki permintaan pencarian lain maka saya tidak akan dapat membedakan antara yang bukan? Tetapi jika tidak ada lagi yang diperlukan, bahwa ini cukup cerdik dan jauh lebih sederhana; D
napcae

Itu benar :-)
markhunte

1
Luar biasa, kawan. Terima kasih! Baru saja secara acak saya menemukan trik mouseover dan kembali ke sini untuk memposting temuan ketika saya melihat respons Anda. Saya tidak pernah menerima pemberitahuan tindak lanjut dari stackechange.
dmbream

10

Ini bukan solusi ideal tetapi solusi kerja yang cukup baik.

Buka Safari lalu buka Preferensi. Aktifkan opsi Debug (Tampilkan mengembangkan menu di bilah menu)

Panel Preferensi Safari EDIT: Alih-alih mengaktifkan menu mengembangkan, Anda harus membuka terminal dan mengaktifkan menu debugdefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Terima kasih @Collin C.

Anda akan menemukan opsi di Show Web Process IDs in Page Titlesbawah Debug> Miscellaneous Flags

Tampilkan ID Proses Web

Jika Anda membuka Monitor Aktivitas sekarang, Anda dapat melihat ID Proses Web ke situs web yang sesuai.

ID Proses Web dan Monitor Aktivitas

Saya harap ini membantu Anda.


1
Alih-alih mengaktifkan menu pengembang dalam preferensi Anda harus mengaktifkan menu debug melalui baris perintah dengan "default write com.apple.Safari TermasukInternalDebugMenu -bool true"
Colin C.

Tip yang bagus. Tetapi kita masih melewatkan hal sebaliknya: Memproses → Tab.
Nicolas Barbulesco

3

Pembaruan: "URL mana yang dikaitkan dengan setiap PID Safari?"

Ini adalah pembaruan pada topik melihat URL Safari mana yang dikaitkan dengan PID mana di Monitor Aktivitas. Saya menggunakan Safari 8.0.6 pada Yosemite 10.10.3 dengan menu Debug aktif, dan dengan opsi "Tampilkan PID di judul halaman". (Lihat di atas dan di bawah untuk cara melakukan ini.)

Nicolas B menyatakan bahwa “kami masih melewatkan hal sebaliknya: Proses> Tab”, merujuk pada mencari daftar nama tab berdasarkan PID item baris tunggal di Activity Monitor.

Saya dapat menunjukkan kepada Anda cara melihat semua tab yang terkait dengan proses web tertentu (PID), meskipun mungkin tidak sepenuhnya memberikan kepuasan, karena:

  • ini adalah proses multi-langkah, dan
  • mencoba untuk menemukan logika dalam penugasan PID berdasarkan tab mirip dengan membaca daun teh sepertinya.

Harus juga diingat bahwa daftar semua URL halaman yang terkait dengan proses web tunggal apa pun dalam Monitor Aktivitas tidak dapat dilakukan di UI seperti yang ada saat ini. (Saya berharap tim Safari Apple akan menambahkannya ke jendela info untuk proses web!)

Pada awalnya, saya mengasumsikan nama yang ditunjukkan pada item baris proses yang merujuk ke halaman penuh terakhir yang dibuka oleh PID itu (tidak termasuk halaman dalam tembolok), tetapi sayangnya hal ini tampaknya tidak terjadi. Saya tidak yakin bagaimana item baris benar-benar mendapatkan namanya. Saya akan membagikan hasil percobaan saya untuk menemukan jawaban mengikuti penjelasan saya tentang cara melihat tab apa yang dikaitkan dengan setiap item baris di Activity Monitor.

Selangkah demi selangkah

  1. Aktifkan menu Debug di Safari

  2. Aktifkan opsi untuk Tampilkan ID Proses Web dalam Judul Halaman (seperti yang dijelaskan di atas)

  3. Dapatkan ekstensi Safari yang luar biasa ini dari Brett Terpstra, TabLinks .
    (Mohon donasi padanya jika Anda merasa plugin ini berguna!)

  4. Jalankan ekstensi dengan menekan tombol dengan ikon tautan kecil (Biasanya di sebelah kiri bilah pencarian / lokasi Safari)

  5. Dalam ekstensi, tambahkan karakter pemisah ke dalam templat yang digunakan untuk menampilkan hasil (untuk pekerjaan pencarian dan ganti yang akan datang).

    Saya memasukkan karakter ying-yang, jadi template saya adalah: [%w-%n]:☯%u☯%t. Ini akan memberi Anda hasil — termasuk [WP PID]informasi di akhir setiap nama tab — dari info debugging Safari.

  6. Salin dan tempel hasilnya ke aplikasi editor teks favorit Anda. (Nisus Writer Pro adalah milikku!)

    Lakukan pencarian-dan-ganti karakter pemisah Anda (untuk saya, ☯), dan ganti dengan karakter tab (ini salah satunya:) .

    Lakukan pencarian-dan-ganti aktif lagi [WP, dan ganti hanya ruang utama tunggal dengan karakter tab «tab»[WP. Ini akan memungkinkan Anda untuk membagi PID menjadi kolom terpisah dalam spreadsheet.

    Simpan file ini sebagai .tabfile teks biasa.

  7. Buka file tab di aplikasi spreadsheet (Saya menggunakan Angka) dan bersenang-senang mengurutkan berdasarkan PID. Sekarang hanya ada satu langkah lagi ...

  8. Di Monitor Aktivitas , pilih Lihat ▶ ︎ Semua Proses, Secara hierarkis , dan salin dan tempel daftar item baris yang menampilkan URL ke dalam spreadsheet Anda, di samping nama tab dan angka yang sudah Anda miliki di sana.

    (Anda dapat membuang semua data kolom yang tidak Anda perlukan dan hanya menyimpan URL dan PID dalam dua kolom; atau, tambahkan kolom Memori untuk membandingkan penggunaan RAM juga.)

Itu dia; tidak persis cepat, tetapi tidak terlalu rumit. Mungkin ada cara yang lebih cepat, tetapi ini adalah percobaan pertama saya untuk mendapatkan info ini.

Setelah melakukan ini, Anda dapat menemukan hasil yang mirip dengan milik saya. Saya memiliki 9 jendela terbuka dengan total 36 tab, semuanya terkandung dalam 20 proses "gaya-url".

( CATATAN: Di sini, saya tidak termasuk banyak proses QTKitServer dan Safari Web Content . Proses ini berjalan berdampingan dengan sebagian besar - jika tidak semua - dari "proses url". Proses QTKitServer ini memiliki jejak RAM yang kecil dibandingkan dengan "proses url utama" ", Misalnya, 4,5 MB vs 300 MB.)

Pengamatan

  • Saya memiliki 9 jendela dengan 36 tab, berjalan dalam 20 proses

  • Penggunaan RAM adalah total 5,4 GB (rata-rata 258 MB per proses)

  • Memori pribadi adalah total 2,0 GB (rata-rata 97 MB per proses)

  • Item baris proses tunggal dapat berisi satu atau lebih tab (milik saya biasanya memiliki satu atau dua tab per PID)

  • Nama URL dalam item baris tampaknya tidak mengikuti pola apa pun yang dapat saya lihat, kecuali bahwa nama biasanya (tetapi TIDAK SELALU) mencerminkan URL dasar dari salah satu tab yang ditetapkan untuk PID itu

  • Terkadang nama URL tidak akurat! Dari 20 proses saya, 4 menggunakan URL yang TIDAK terbuka di salah satu tab saya.

    (Mungkinkah ini halaman yang di-cache, mungkin?)

  • Tab baru (atau jendela) dapat ditugaskan ke PID yang ada, atau ke proses baru, yang tampaknya secara "acak". Mereka tidak berurutan, atau dikelompokkan dengan jendela tertentu; dengan demikian, setiap jendela dengan banyak tab dapat memiliki beberapa PID yang berjalan berdampingan.

Ini sudah cukup untuk sekarang! Saya harap seseorang yang jauh lebih pintar daripada yang bisa saya datangi dan jelaskan sedikit lebih banyak! Aloha.


0

Saya menulis sebuah applescript, saya biasanya menjalankannya dari terminal tetapi bisa dengan mudah dimodifikasi untuk kemudahan penggunaan lain yang cocok untuk Anda. Output menunjukkan jendela / tab, judul, memori yang digunakan, URL Dengan string panjang disingkat untuk memulai ... berakhir

Untuk mendapatkan ukuran memori, Anda akan memerlukan tab yang menunjukkan ID proses sebagaimana dirinci oleh beberapa posting di atas. Saya menggunakan fungsi untuk menjalankan skrip melalui osascript, semua tercantum dalam komentar dalam file.

Contoh:

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.

Perhatikan bahwa ada beberapa bug di Safari (setidaknya 11.1.2) sehingga cache halaman dan judulnya dapat menghasilkan 0 atau lebih dari 1 PID dalam judul, halaman javascript memiliki 2 referensi lama dari cache tetapi skrip mengambil terakhir, saat ini, PID. Jika URL tidak dimuat oleh Safari maka proses lebih kecil dan string URL akan hilang.

Jatuhkan aku PM jika tertarik. Saya bisa memasangnya di github ...

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.