質問

私はChromeでGoogleBooksを読んでいました。彼らは、新しいタブを作成するたびに、ブラウザタブをホストするプロセスをスピンアップすることにした理由について話していました。それで

2 つのタブ = 2 つの Chrome プロセス

3 つのタブ = 3 つの Chrome プロセスなど ..右??

しかし、20ほどのタブを開いたのですが、タスクマネージャーでは3つのChromeプロセスしか見つかりませんでした。

何が起こっているのか??

プロセスの作成は、必要なリソースの点で高価な提案であり、利用可能な他の軽量オプション (例: .net のアプリ ドメインなど) があることを教えられました。では、Chrome はハイブリッドなアプローチを採用しているのでしょうか??いくつかのプロセスを作成し、それらの限られたプロセス セット内で追加のタブのホストを開始しますか??

役に立ちましたか?

解決

最初のプロセスでホストされています。クロムを開きます。2 つのプロセス (マネージャーと最初のタブ) が表示されます。さらに 10 個のタブを開くと、2 番目のプロセスのメモリが大幅に増加していることがわかります。最初のタブに google.com などと入力すると、新しいプロセスが生成されるのがわかります。

また、Shift+ESC を押して Chrome でタスク マネージャーを起動すると、これらすべてのタブがグループ化され、1 つはメモリあり、もう 1 つはメモリなしになります。

他のヒント

2 つのサイトがセッションを共有する場合、プロセスを共有することを忘れないでください。したがって、あるサイトからリンクをたどって新しいページを開くと、同じセッションになります (つまり、同じプロセスになります)。

で作成されたタブごとに Ctrl+T, 、新しいプロセスを取得する必要があります。

また、同じドメインを参照しているタブが同じプロセスにグループ化されていることにも気付きました。したがって、stackoverflow.com を閲覧しているタブが 3 つある場合、それらの 3 つのタブは 1 つのプロセスとして適用されます。

プロセスの作成は、確かにスレッドの作成に比べて比較的高価です。ただし、Chrome でのプロセス作成の頻度は とても 遅いため、実際の問題は、他の手法と比較したリソースのオーバーヘッドの量です。

Google チームは、別個のプロセス モデルの利点により、リソースのコストが正当化されると考えました。デスクトップ マシン上の現在のリソースを考慮すると、このトレードオフは非常に理にかなっています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top