Có ai đã tìm ra cách xác định trang duy nhất của mỗi quy trình Nội dung Web Safari riêng biệt với Safari 7 / Mavericks chưa?


10

Tôi biết tôi không phải là người đầu tiên tự hỏi điều này.

Một cái gì đó giống như Trình quản lý tác vụ Chrome.

Nói tóm lại, khi bạn có nhiều tab / trang được mở trong Safari 7 mới (được vận chuyển bằng Mavericks), mỗi tab được khởi chạy như một quy trình hệ thống riêng biệt. Bạn có thể xem danh sách các quy trình trong Trình giám sát hoạt động, nhưng bạn không thể thấy trang hoặc URL bên dưới của mỗi quy trình.

Điều này sẽ rất hữu ích để khắc phục sự cố một trang chạy hoặc treo đang hút RAM hoặc chu kỳ CPU.

Apple đã loại bỏ cửa sổ Activity trong Safari 6. Và bây giờ với Safari 7, các quy trình riêng biệt rất tuyệt vời, nhưng thông tin chi tiết hơn về mỗi tab sẽ thực sự tuyệt vời.

Bất kỳ ai?


Đúng, cửa sổ Activity sẽ biến mất. Nhưng cửa sổ Activity không hoàn hảo. Trong Safari của Yosemite, Apple đã tính đến vấn đề này. Chúng ta sẽ xem như thế nào.
Nicolas Barbulesco

Câu trả lời:


6

Nếu bạn di chuột qua tên của Quy trình, một Tooltip sẽ hiển thị cho bạn biết tên miền Cơ sở URL

nhập mô tả hình ảnh ở đây


Nhưng không thể thấy URL đầy đủ phải không? Vì vậy, nếu tôi có hai tab đang mở, cả google.com và mỗi tab đều có một yêu cầu tìm kiếm khác thì tôi sẽ không thể phân biệt được giữa các tab đó chứ? Nhưng nếu không có gì hơn là cần thiết, thì điều này khá khéo léo và đơn giản hơn nhiều; D
napcae

Đó là chính xác :-)
markhunte

1
Thật tuyệt vời, các bạn. Cảm ơn! Chỉ cần ngẫu nhiên phát hiện ra thủ thuật di chuột một mình và quay lại đây để đăng bài tìm thấy khi tôi thấy phản hồi của bạn. Tôi chưa bao giờ nhận được bất kỳ thông báo theo dõi nào từ stackechange.
dmbream

10

Đây không phải là một giải pháp lý tưởng mà là một cách giải quyết khá tốt.

Mở Safari sau đó vào Tùy chọn. Kích hoạt tùy chọn Gỡ lỗi (Hiển thị menu phát triển trong thanh menu)

Ngăn ưu tiên Safari EDIT: Thay vì kích hoạt menu phát triển, bạn phải mở terminal và kích hoạt menu gỡ lỗi bằngdefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

Cảm ơn @Collin C.

Bạn sẽ tìm thấy tùy chọn Show Web Process IDs in Page Titlestrong Gỡ lỗi> Cờ khác

Hiển thị ID tiến trình web

Nếu bạn mở Trình giám sát hoạt động ngay bây giờ, bạn có thể thấy ID tiến trình web đến các trang web tương ứng.

ID tiến trình web và giám sát hoạt động

Tôi hy vọng điều này sẽ giúp bạn.


1
Thay vì kích hoạt menu nhà phát triển trong các tùy chọn, bạn phải bật menu gỡ lỗi thông qua dòng lệnh với "mặc định ghi com.apple.Safari Bao gồmIernalDebugMothy -bool true"
Colin C.

Mẹo hay. Nhưng chúng ta vẫn bỏ lỡ cách ngược lại: Quá trình → Tab.
Nicolas Barbulesco

3

Cập nhật: Cameron Những URL nào được liên kết với mỗi Safari Safari?

Đây là bản cập nhật về chủ đề xem URL Safari nào được liên kết với các PID nào trong Trình giám sát hoạt động. Tôi đang sử dụng Safari 8.0.6 trên Yosemite 10.10.3 với menu Debug và với tính năng Hiển thị PID trong tùy chọn trang Tiêu đề trên. (Xem bên trên và bên dưới để biết cách làm điều này.)

Nicolas B tuyên bố rằng, chúng tôi vẫn bỏ lỡ cách ngược lại: Quá trình> Tab Tab, đề cập đến việc tìm kiếm danh sách các tên tab dựa trên bộ đơn hàng PID đơn trong Trình giám sát hoạt động.

Tôi có thể chỉ cho bạn cách xem tất cả các tab được liên kết với một quy trình web cụ thể (PID), mặc dù nó có thể không hoàn toàn mang lại sự hài lòng, vì:

  • đó là một quá trình gồm nhiều bước và
  • cố gắng tìm logic trong các bài tập PID dựa trên các tab giống như đọc lá trà.

Cũng nên nhớ rằng việc liệt kê tất cả các URL trang được liên kết với bất kỳ quy trình web nào trong Trình giám sát hoạt động là không thể thực hiện được trong Giao diện người dùng như hiện tại. (Tuy nhiên, tôi muốn nhóm Safari của Apple sẽ thêm nó vào cửa sổ thông tin cho các quy trình web!)

Lúc đầu, tôi giả sử tên được hiển thị trên chi tiết đơn hàng quy trình được đề cập đến trang đầy đủ cuối cùng được mở bởi PID đó (không bao gồm các trang được lưu trong bộ nhớ cache), nhưng than ôi điều này dường như không xảy ra. Tôi không chắc chắn làm thế nào mục hàng thực sự có được tên của nó. Tôi sẽ chia sẻ kết quả thử nghiệm của mình để tìm câu trả lời theo giải thích của tôi về cách xem các tab nào được liên kết với từng mục hàng trong Trình giám sát hoạt động.

Từng bước một

  1. Bật menu Gỡ lỗi trong Safari

  2. Cho phép tùy chọn Hiển thị ID tiến trình web trong Tiêu đề trang (như đã giải thích ở trên)

  3. Nhận tiện ích mở rộng Safari tuyệt vời này từ Brett Terpstra, TabLinks .
    (Hãy đóng góp cho anh ấy nếu bạn thấy plugin hữu ích!)

  4. Chạy tiện ích mở rộng bằng cách nhấn nút bằng biểu tượng liên kết nhỏ (Thường bên trái thanh tìm kiếm / vị trí của Safari)

  5. Trong tiện ích mở rộng, thêm ký tự dấu phân cách vào mẫu được sử dụng để hiển thị kết quả (cho công việc tìm kiếm và thay thế trong tương lai).

    Tôi đã chèn một ký tự ying-yang, vì vậy mẫu của tôi là : [%w-%n]:☯%u☯%t. Điều này sẽ cung cấp cho bạn kết quả, bao gồm cả [WP PID]thông tin ở cuối mỗi tên tab từ thông tin gỡ lỗi của Safari.

  6. Sao chép và dán kết quả vào ứng dụng soạn thảo văn bản yêu thích của bạn. (Nisus Writer Pro là của tôi!)

    Thực hiện tìm kiếm và thay thế trên ký tự phân cách của bạn (đối với tôi,) và thay thế chúng bằng một ký tự tab (đây là một :).

    Thực hiện một tìm kiếm và thay thế khác [WPchỉ thay thế không gian hàng đầu duy nhất bằng một ký tự tab «tab»[WP. Điều này sẽ cho phép bạn chia các PID thành một cột riêng trong bảng tính.

    Lưu tệp này dưới .tabdạng tệp văn bản thuần túy.

  7. Mở tệp tab trong ứng dụng bảng tính (Tôi đã sử dụng Số) và sắp xếp thú vị theo PID. Bây giờ chỉ còn một bước nữa ...

  8. Trong Trình giám sát hoạt động , chọn Xem ▶ Tất cả các quy trình, phân cấp và sao chép-dán danh sách các mục hàng hiển thị URL vào bảng tính của bạn, bên cạnh tên và số tab bạn đã có.

    (Bạn có thể loại bỏ tất cả dữ liệu cột bạn không cần và chỉ giữ các URL và PID trong hai cột; hoặc thêm cột Bộ nhớ để so sánh việc sử dụng RAM.)

Đó là nó; không chính xác nhanh chóng, nhưng không phức tạp khủng khiếp. Có lẽ có một cách nhanh hơn, nhưng đây là lần đầu tiên tôi cố gắng để có được thông tin này.

Sau khi làm điều này, bạn có thể tìm thấy kết quả tương tự như của tôi. Tôi đã mở 9 cửa sổ với tổng cộng 36 tab, tất cả đều được chứa trong 20 quy trình kiểu kiểu url url.

( Chú ý: Ở đây, tôi không bao gồm nhiều QTKitServernội dung web Safari quá trình này chạy bên cạnh nhiều nhất nếu không phải tất cả-trong “quá trình url” Các quá trình này QTKitServer có một dấu chân RAM nhỏ so với các quá trình url chính”.. Hay, ví dụ: 4,5 MB so với 300 MB.)

Quan sát

  • Tôi đã có 9 cửa sổ với 36 tab, chạy trong 20 quy trình

  • Sử dụng RAM là tổng cộng 5,4 GB (trung bình là 256 MB mỗi tiến trình)

  • Bộ nhớ riêng có tổng dung lượng 2.0 GB (trung bình 97 MB mỗi tiến trình)

  • Bất kỳ mục hàng quy trình đơn lẻ nào cũng có thể chứa một hoặc nhiều tab (của tôi thường có một hoặc hai tab cho mỗi PID)

  • Tên URL trong mục hàng dường như không tuân theo bất kỳ mẫu nào tôi có thể nhận ra, ngoại trừ tên thường (nhưng KHÔNG LUÔN) phản ánh URL cơ sở của một trong các tab được gán cho PID đó

  • Đôi khi tên URL không chính xác! Trong số 20 quy trình của tôi, 4 đã sử dụng một URL KHÔNG mở trong bất kỳ tab nào của tôi.

    (Đây có thể là các trang được lưu trữ, có lẽ?)

  • Một tab mới (hoặc cửa sổ) có thể được gán cho một PID hiện có hoặc cho một quy trình mới, dường như theo kiểu thời trang ngẫu nhiên. Chúng không tuần tự, cũng không được nhóm với bất kỳ cửa sổ cụ thể nào; do đó, bất kỳ cửa sổ nào có nhiều tab có thể có một số PID chạy cùng nhau.

Điều này là đủ cho bây giờ! Tôi hy vọng ai đó thông minh hơn tôi có thể đi cùng và giải thích thêm một chút! Aloha.


0

Tôi đã viết một applescript, tôi thường chạy nó từ thiết bị đầu cuối nhưng nó có thể dễ dàng sửa đổi để dễ sử dụng khác phù hợp với bạn. Đầu ra hiển thị cửa sổ / tab, tiêu đề, bộ nhớ được sử dụng, URL Với các chuỗi dài được rút ngắn để bắt đầu ... kết thúc

Để có được kích thước bộ nhớ, bạn sẽ cần các tab hiển thị ID tiến trình như chi tiết của một số bài đăng ở trên. Tôi sử dụng một chức năng để chạy tập lệnh thông qua osascript, tất cả được ghi chú trong các nhận xét trong tệp.

Thí dụ:

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.

Lưu ý rằng có một vài lỗi trong Safari (ít nhất là 11.1.2) để bộ đệm của các trang và tiêu đề của chúng có thể dẫn đến 0 hoặc nhiều hơn 1 PID trong tiêu đề, trang javascript có 2 tham chiếu cũ từ bộ đệm nhưng tập lệnh sẽ lấy cuối cùng, hiện tại, PID. Nếu URL không được tải bởi Safari thì quá trình sẽ nhỏ hơn và chuỗi URL sẽ bị thiếu.

Thả tôi một PM nếu quan tâm. Tôi có thể đưa nó lên github ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.