Webページが大量のRAMを使用するのはなぜですか?


25

Chromeで多数のページを開いたままにすると、コンピューターの動作が遅くなります。Windowsタスクマネージャーは、一部のページが大量のRAMを使用することを示しています。

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

  1. なぜそんなに多くのRAMを使用するのですか?
  2. 各ページに必要なRAMの量を知る方法はありますか?

ありがとうございました。


9
Chromeには独自のタスクマネージャーもあります。そしてchrome://memory-redirect/、あなたがもう少し準備ができているなら、入ってください。
slhck

1
ヒントをありがとう。Chromeは1つのタブ/ページに1つのプロセスを使用しないことがわかります:プロセスは1つのタブと複数のWebページを指すことができるので、どれがどのくらいのRAMを使用しているのかわかりません。
OverTheRainbow

回答:


23

Chromeは、ブラウザ市場で最も多くRAMを消費しています。メモリ使用量の増加と速度の向上がトレードオフになります。ただし、使用可能なRAMが少なくなると、それは市場で最も遅いブラウザになります(リソース使用量がハードディスクにページングするのではなくRAMに完全にとどまるほど小さいブラウザと比較して)。

ここでは、Chromium開発チームがChromeで使用されるこのメモリモデルの良い点と悪い点について説明します。

そして、ここで、「firefoxスタイル」のシングルプロセスモードを含む、さまざまなトレードオフを持つ代替メモリモデルを使用するようにChromeを構成できます。http//dev.chromium.org/developers/design-documents/process-models


8
  1. Webページが大量のRAMを使用するのはなぜですか?

Chromeはプロセスごとのモデルを使用します。つまり、タブ(または関連するタブのグループ)ごとに、個別のスレッドではなく個別のプロセスを使用します。これは基本的に、各タブが個別の実行プログラムであることを意味します。そうすれば、クラッシュした場合、ブラウザ全体を削除するのではなく、単独で停止します(プラグとほとんどの拡張機能で同じことを行います)。

これには明らかな利点がありますが(サンドボックスが主要なものです)、もちろん、それぞれにメモリオーバーヘッドがあるという欠点もあります。つまり、Chromeは、開いているページの同じセットに対して、ブラウザよりも多くのRAMを使用しますプロセスごとのモデルを使用しないでください(Chromeがリリースされて以来、他のブラウザーはこの方法に移行し始めています)。

前述したように、プロセスごとのルールは、必ずしもすべてのタブが独自のプロセスを取得することを意味するわけではありません。ページがどのように開かれたかによって異なります。[新しいタブで開く]または[ 新しいウィンドウで開く]を使用すると、親と同じプロセスでページ/リンクが開きます、シークレットウィンドウで開くと、新しいタブおよび新しいウィンドウコマンドと同様に新しいプロセスで開きます。

ページが大量のRAMを占有するもう1つの理由は、最近では、ほとんどのWebページに多くのJavaScriptとFlashが含まれており、CPUとRAMの両方が重いことです(つまり、古いシステムが快適にインターネットを閲覧できないため、 「使用済み、古いが、閲覧に適したシステム」などの長いもの。さらに悪いことに、プラグインと拡張機能(Chrome自体も)がしばらくするとメモリリーク発生し、メモリの使用量がやがて増加する可能性がありました。

  1. 各ページに必要なRAMの量を知る方法はありますか?

残念ながら、ページごとのメモリ使用量を確認する(既知/簡単な)方法はありません。最も近い方法はShift+Esc、タブストリップを押すか右クリックして[タスクマネージャー]を選択し、プロセスごとのメモリ使用量を確認することです。

試すことができることの1つは、新しいプロセスで各ページを開き(前述の方法のいずれかを使用)、比較することです。


おかげで、私はこの答えを質問しようとしていました。単純なWebページが300MBを占めるのは信じられません。
フェデリコポンツィ

1

スパナ、ツール、開発者ツール、監査をお試しください

Webページの効率を改善するための多くの提案は、他の人の特定のWebページが過剰なリソースを使用する理由です。


私は自分のWebページについてではなく、ネット上で読んでいるWebページについて、RAMを大量に消費しているため、ブックマークを付け、Chromeを再起動し、ページを再度開く必要があります。
OverTheRainbow
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.