Safari 7 / Mavericksを使用して、個別のSafari Webコンテンツプロセスごとに固有のページを識別する方法を誰かが理解しましたか?


10

私がこれを不思議に思うのは私が最初ではありません。

Chromeタスクマネージャーのようなもの。

つまり、新しいSafari 7(Mavericksに同梱)で複数のタブ/ページを開いている場合、それぞれが個別のシステムプロセスとして起動されます。アクティビティモニターでプロセスのリストを表示できますが、各プロセスの基になるページまたはURLは表示できません。

これは、RAMやCPUサイクルを消費している暴走ページやハングページのトラブルシューティングに非常に役立ちます。

AppleはSafari 6の[アクティビティ]ウィンドウを削除しました。また、Safari 7では、個別のプロセスが優れていますが、各タブに関するより詳細な情報が非常に優れています。

誰でも?


はい、[アクティビティ]ウィンドウがなくなることは大きな損失です。しかし、アクティビティウィンドウは完全ではありません。ヨセミテのSafariでは、Appleがこの問題を考慮に入れている。方法を見ていきます。
Nicolas Barbulesco 2014

回答:


6

プロセスの名前の上にマウスを置くと、ツールチップが表示され、URLベースドメインが示されます。

ここに画像の説明を入力してください


しかし、完全なURLを確認することはできませんか?たとえば、2つのタブが開いていて、google.comと各タブの両方に別の検索リクエストがある場合、それらを区別することはできませんか?しかし、より多くの何もこれは非常に独創的とはるかに簡単であることを、必要としない場合は、D
napcae

正解です:-)
markhunte 2013年

1
素晴らしい、みんな。ありがとう!自分でマウスオーバートリックをランダムに発見し、ここに戻って検索結果を投稿しました。stackechangeからフォローアップ通知を受信して​​いません。
dmbream 2013年

10

これは理想的なソリューションではありませんが、かなり良い回避策です。

Safariを開き、[設定]に移動します。[デバッグ]オプションをアクティブにします(メニューバーに[開発]メニューを表示します)

Safari設定ペイン 編集:開発メニューをアクティブにする代わりに、ターミナルを開いてデバッグメニューをアクティブにする必要がありますdefaults write com.apple.Safari IncludeInternalDebugMenu -bool true

@Collin Cさん、ありがとうございました。

このオプションは、[ Show Web Process IDs in Page Titlesデバッグ]> [その他のフラグ]にあります。

WebプロセスIDを表示

ここでアクティビティモニターを開くと、対応するWebサイトのWebプロセスIDを確認できます。

WebプロセスIDおよびアクティビティモニター

これがお役に立てば幸いです。


1
設定で開発者メニューを有効にするのではなく、コマンドラインで「defaults write com.apple.Safari IncludeInternalDebugMenu -bool true」を使用してデバッグメニューを有効にする必要があります

いいヒント。しかし、私たちはまだ逆の方法を見逃しています:プロセス→タブ。
Nicolas Barbulesco 2014

3

更新:「どのSafari PIDに関連付けられているURLですか?」

これは、アクティビティモニターでどのSafari URLがどのPIDに関連付けられているかを確認するトピックに関する更新です。Yosemite 10.10.3の[デバッグ]メニューをオンにして、[ページタイトルにPIDを表示]オプションをオンにしてSafari 8.0.6を使用しています。(これを行う方法については、上記および下記を参照してください。)

ニコラスBは「アクティビティー>タブ」とは逆に、「アクティビティモニターで単一の行項目PIDに基づいてタブ名のリストを探す」と述べました。

特定のWebプロセス(PID)に関連付けられているすべてのタブを表示する方法を紹介しますが、次の理由から、完全に満足できるとは限りません。

  • それは多段階のプロセスであり、
  • タブに基づいてPID割り当てのロジックを見つけようとすることは、茶葉を読むことに似ています。

また、Activity Monitor内の単一のWebプロセスに関連付けられているすべてのページURLを一覧表示することは、現在のようにUIで実行できないことも覚えておく必要があります。(ただし、AppleのSafariチームがそれをWebプロセスの情報ウィンドウに追加してほしい!)

最初は、そのPIDによって開かれた最後の完全なページ(キャッシュされたページを含まない)を参照するプロセスラインアイテムに表示される名前を想定しましたが、残念ながらそうではありません。ラインアイテムが実際にその名前を取得する方法はわかりません。実験の結果を共有して、アクティビティモニターの各項目にどのタブが関連付けられているかを確認する方法について説明した後、答えを見つけます。

ステップバイステップ

  1. Safariの[デバッグ]メニューをオンにする

  2. ページタイトルにWebプロセスID表示するオプションを有効にする (上記で説明)

  3. この素晴らしいSafari拡張機能をBrett TerpstraのTabLinksから入手しください
    (プラグインが便利だと思ったら寄付してください!)

  4. 小さなリンクアイコンが付いたボタンを押して拡張機能を実行します(通常はSafariの検索/ロケーションバーの左側)

  5. 拡張機能で、結果の表示に使用するテンプレートに区切り文字を追加します(将来の検索および置換作業用)。

    陰陽文字を挿入したので、テンプレートはでした[%w-%n]:☯%u☯%t。これにより[WP PID]、Safariのデバッグ情報からの結果(各タブ名の末尾の情報を含む)が得られます。

  6. 結果をコピーして、お気に入りのテキストエディターアプリに貼り付けます。(Nisus Writer Proは私のものです!)

    区切り文字(私にとっては☯)を検索して置換し、タブ文字(ここでは1つ)に置き換えます

    で別の検索と置換を行い[WP、先頭の1つのスペースのみをタブ文字に置き換えます«tab»[WP。これにより、PIDをスプレッドシートの個別の列に分割できます。

    このファイルを.tabプレーンテキストファイルとして保存します。

  7. スプレッドシートアプリ(Numbersを使用)でタブファイルを開き、PIDによる並べ替えを楽しんでください。これで、あと1つだけのステップがあります...

  8. ではアクティビティモニタ、選択ビュー▶︎すべてのプロセス、階層的に、あなたはすでにそこに持っているタブの名前と番号と一緒に、お使いのスプレッドシートにURLを示す線、アイテムのリストをコピー、貼り付けます。

    (不要な列データをすべて破棄して、URLとPIDを2つの列に保持することもできます。または、メモリ列を追加して、RAMの使用状況を比較することもできます。)

それでおしまい; 正確ではありませんが、それほど複雑ではありません。おそらくもっと速い方法がありますが、これがこの情報を取得する最初の試みでした。

これを実行した後、あなたは私のような結果を見つけるかもしれません。9つのウィンドウを開いて合計36個のタブを作成し、すべて20個の「urlスタイル」プロセスに含まれていました。

注:ここでは、多くのQTKitServerおよびSafari Web Contentプロセスを含めていません。これらは、「すべて」ではないにしても、「urlプロセス」のほとんどと並行して実行されます。これらのQTKitServerプロセスは、メインの「urlプロセス」と比較して、小さなRAMフットプリントを持っています」、たとえば、4.5 MB対300 MB)

観察

  • 20個のプロセスで実行されている、36個のタブを持つ9個のウィンドウがありました

  • RAMの使用量は合計5.4 GB(プロセスあたり平均258 MB)でした

  • プライベートメモリは合計2.0 GBでした(プロセスあたり平均97 MB)

  • 単一のプロセスラインアイテムには、1つ以上のタブが含まれる場合があります(通常、PIDごとに1つまたは2つのタブがありました)。

  • line-itemのURL名は、認識できるパターンに従っていないようですが、名前は通常(ただし常にではない)、そのPIDに割り当てられたタブの1つのベースURLを反映している

  • URL名が不正確な場合があります。私の20のプロセスのうち、4つが私のタブで開かれていないURLを使用していました。

    (おそらくこれらはキャッシュされたページでしょうか?)

  • 新しいタブ(またはウィンドウ)は、一見「ランダム」な方法で、既存のPIDまたは新しいプロセスに割り当てることができます。それらは順次ではなく、特定のウィンドウとグループ化されていません。したがって、複数のタブがあるウィンドウでは、複数のPIDを互いに並行して実行できます。

今のところこれで十分です!私が一緒に来て、もう少し説明できるよりもはるかに賢い人を望んでいます!アロハ。


0

Applescriptを作成しましたが、通常はターミナルから実行しますが、他の使いやすさに合わせて簡単に変更できます。出力には、ウィンドウ/タブ、タイトル、使用メモリ、URLが表示されます。

メモリサイズを取得するには、上記のいくつかの投稿で詳しく説明されているように、プロセスIDを示すタブが必要です。私は、関数を使用して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+    @  /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.

Safari(少なくとも11.1.2)にはいくつかのバグがあるため、ページとそのタイトルのキャッシュが0または1以上のPIDのタイトルになる可能性があることに注意してください。JavaScriptページにはキャッシュからの2つの古い参照がありますが、スクリプトは最後、現在、PID。URLがSafariによってロードされない場合、プロセスは小さくなり、URL文字列は失われます。

興味があれば私にPMを送ってください。私はそれをgithubに置くことができました...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.