Dlaczego strony internetowe zajmują tak dużo pamięci RAM?

25

Po pozostawieniu otwartej wiązki stron w Chrome mój komputer działa wolno. Menedżer zadań Windows pokazuje, że niektóre strony zajmują dużo pamięci RAM:

wprowadź opis zdjęcia tutaj

  1. Dlaczego zabierają tyle pamięci RAM?
  2. Czy istnieje sposób, aby dowiedzieć się, ile pamięci RAM zajmuje każda strona, więc mogę to sprawdzić?

Dziękuję Ci.

Nad tęczą
źródło
9
Chrome ma także własnego menedżera zadań . I wprowadź, chrome://memory-redirect/jeśli masz ochotę na więcej.
slhck
1
Dzięki za wskazówkę. Okazuje się, że Chrome nie korzysta z jednego procesu dla jednej karty / strony: Proces może wskazywać jedną kartę i wiele stron internetowych, więc nie mogę powiedzieć, która z nich korzysta z ilości pamięci RAM.
OverTheRainbow,

Odpowiedzi:

23

Chrome jest najcięższym konsumentem pamięci RAM na rynku przeglądarek. Wymienia zwiększone zużycie pamięci w celu zwiększenia prędkości. Jeśli jednak zabraknie dostępnej pamięci RAM, staje się ona najwolniejszą przeglądarką na rynku (w porównaniu z taką, która byłaby na tyle mała, że ​​używałaby zasobów, aby pozostać w pełni w pamięci RAM zamiast stronicowania na dysk twardy).

Zespół programistów Chromium omawia zalety i wady tego modelu pamięci używanego w Chrome .

Tutaj możesz skonfigurować Chrome, aby korzystał z alternatywnych modeli pamięci z różnymi kompromisami, w tym w trybie pojedynczego procesu „w stylu Firefox”: http://dev.chromium.org/developers/design-documents/process-models

Syclone0044
źródło
8
  1. Dlaczego strony internetowe zajmują tak dużo pamięci RAM?

Chrome używa modelu na proces, co oznacza, że ​​dla każdej karty (lub grupy powiązanych kart) używa osobnego procesu zamiast osobnego wątku. Zasadniczo oznacza to, że każda karta jest osobnym działającym programem. W ten sposób, jeśli wystąpi awaria, same się psują, zamiast zdejmować całą przeglądarkę (robi to samo w przypadku wtyczek i większości rozszerzeń).

Ma to oczywiste zalety (piaskownica jest podstawową), ale oczywiście ma również wady, takie jak fakt, że każda z nich ma narzut pamięci, co oznacza, że ​​Chrome zużywa więcej pamięci RAM dla tego samego zestawu otwartych stron niż przeglądarki, które to robią nie używaj modelu na proces (inne przeglądarki zaczęły przechodzić na tę metodę od czasu wydania Chrome).

Jak już zauważyłeś, reguła dla poszczególnych procesów niekoniecznie oznacza, że każda karta ma swój własny proces. To zależy od sposobu otwarcia strony. Użycie opcji Otwórz w nowej karcie lub Otwórz w nowym oknie powoduje otwarcie strony / łącza w tym samym procesie co element nadrzędny, ale okno Otwórz w trybie incognito otwiera go w nowym procesie, podobnie jak polecenia nowej karty i nowego okna .

Innym powodem, dla którego strony zajmują dużo pamięci RAM, jest fakt, że obecnie większość stron zawiera JavaScript i Flash, co czyni je zarówno procesorem, jak i pamięcią RAM (co oznacza również, że starsze systemy nie mogą tak wygodnie przeglądać Internetu, więc nie ma dłuższe, takie jak „używany, stary, ale dobry do przeglądania system”). Gorzej, wtyczki i rozszerzenia (a może nawet sam Chrome) mogą po pewnym czasie wyciekać pamięć , zwiększając zużycie pamięci z czasem.

  1. Czy istnieje sposób, aby dowiedzieć się, ile pamięci RAM zajmuje każda strona, więc mogę to sprawdzić?

Niestety nie ma (znanego / łatwego) sposobu na sprawdzenie wykorzystania pamięci na stronę. Najbliższym sposobem jest naciśnięcie Shift+Esclub kliknięcie prawym przyciskiem myszy paska kart i wybranie Menedżera zadań, aby zobaczyć zużycie pamięci na proces.

Jedną z rzeczy, które możesz wypróbować, jest otwarcie każdej strony w nowym procesie (przy użyciu jednej z wyżej wymienionych metod), a następnie porównanie.

Bobson
źródło
Dzięki, miałem właśnie zadać pytanie dotyczące tej odpowiedzi. Nie mogę uwierzyć, jak prosta strona internetowa może zająć 300 MB.
Federico Ponzi
1

Wypróbuj klucz, narzędzia, narzędzia programistyczne, audyty

Wiele sugestii dotyczących poprawy wydajności strony internetowej powoduje, że strony internetowe innych osób używają nadmiernych zasobów.

RedGrittyBrick
źródło
Nie mówię o moich stronach internetowych, ale raczej o stronach, które czytam w sieci i w końcu wysysam tyle pamięci RAM, że muszę je dodać do zakładek, ponownie uruchomić Chrome i ponownie otworzyć strony.
OverTheRainbow,