Jak mogę dowiedzieć się, która karta w Safari używa procesora?

29

Zwykle mam kilka otwartych kart w Safari w tle i czasami widzę, że zajmuje to nietypową ilość procesora (PluginProcess lub WebProcess).

Jak mogę dowiedzieć się, która karta (lub karty) powoduje to? Jeśli nie ma łatwych rozwiązań GUI, jestem również otwarty na techniki oparte na terminalach, aby znaleźć winowajcę. Mam nadzieję, że nie będę musiał tego robić zbyt często.

(Uwaga: zdaję sobie sprawę, że jest to podobne do starego pytania , ale Safari zostało zaktualizowane od tego czasu i być może dostępne są nowe techniki).

jtbandes
źródło
w międzyczasie znalazłeś rozwiązanie dla siebie? Mam ten sam problem, ale głównie z powodu nadmiernego wykorzystania pamięci RAM, które wydaje się być wywoływane przez kilka kart: apple.stackexchange.com/q/125290/5887
MostlyHarmless
@MostlyHarmless sprawdź odpowiedź poniżej: apple.stackexchange.com/a/127111/85985 @ jtbandes: zaznacz wspomnianą odpowiedź jako poprawną, ponieważ ta, którą zaznaczyłeś, nie zawiera żadnego rozwiązania
Ichixgo
@Ichixgo: Dzięki, ponieważ nadal używam OS 10.6.8, nie mogę korzystać z Safari 6.1
większościHarmless
1
@MostlyHarmless: Szkoda, może chcesz wypróbować Chrome . Nadal działa na 10.6 i możesz również sprawdzić, które karty blokują procesor. Okno> Menedżer zadań z menu rozwijanego.
Ichixgo,

Odpowiedzi:

14
  1. Potrzebujesz przeglądarki Safari 6.1 lub nowszej

  2. Włącz menu debugowania.

Aktualizacja: W systemie Mac OS Mojave i nowszych przejdź do Preferencji systemowych> Bezpieczeństwo i prywatność> Prywatność> Pełny dostęp do dysku i dodaj Terminal przed wprowadzeniem polecenia.

    defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
  1. Ustaw „Użyj procesów sieciowych na zakładkę” i „Pokaż identyfikatory procesów internetowych w tytułach stron” na włączone.

zrzut ekranu

Siergiej
źródło
1
Dobre wykorzystanie grafiki
CousinCocaine
2
We współczesnym Safari nie ma dobrego sposobu, aby zobaczyć te identyfikatory procesów, ponieważ tytuł strony jest prawie zawsze obcięty w interfejsie użytkownika, ale to rozszerzenie Safari może wygenerować listę wszystkich kart, w tym ich pełne, zawierające PID tytuły: brettterpstra.com/2010 / 06/18 / tablinks-safari-extension
Brent Royal-Gordon
2

Warto sprawdzić zarówno menu Programowanie, jak i Menu debugowania w najnowszej przeglądarce Safari.app (wersja 5.1.4 / 7534.54.16) i nie mogłem znaleźć żadnych pomocnych funkcji.

Rozwijaj menu:

Menu debugowania:

Menu debugowania można włączyć za pomocą następującego polecenia:

defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
Mathias Bynens
źródło
2

cmd ⌘+ alt ⌥+ AWindow > Activitymoże pomóc w określeniu, która karta ma największą aktywność, jeśli jest wystarczająco długa.

Muszę przyznać, że wszystkie moje testy zakończyły się niepowodzeniem, ale głównie używam szybkich serwerów WWW.

Przetestowałem również Debug > Show Frame Rate Meter(patrz Debugmenu rozwijane Mathias ), która jest częściową odpowiedzią na pierwotne pytanie. Musisz to przetestować, ponownie ładując każdą zakładkę i porównaj moc 3 metrów, aby zobaczyć, kto jest wieprzem.

dan
źródło
2

Aplikacja Monitor aktywności udostępnia wpisy dla poszczególnych kart Safari. Możesz wyszukać „Safari”, aby zobaczyć tylko procesy związane z Safari, w tym wszystkie jego zakładki, i posortować według procentu procesora, aby zobaczyć, które są aktywne.

Niestety, każda nazwa procesu zawiera tylko domenę adresu URL, a nie pełny adres URL, więc ustalenie, która to karta może być nieco trudne, jeśli, tak jak ja, masz wiele stron z tej samej domeny.

(Używam macOS Sierra 10.12.6 i Safari 10.1.2; nie jestem pewien, kiedy to zostało wprowadzone).

Aplikacja Monitor aktywności z procesem

Paul D. Waite
źródło
2
mimo to daje bardzo dobrą wskazówkę, aby dowiedzieć się, co się dzieje, dzięki!
Edoardo