Tại sao các trang web chiếm quá nhiều RAM?


25

Sau khi để lại một loạt các trang mở trong Chrome, máy tính của tôi trở nên chậm chạp. Trình quản lý tác vụ Windows cho thấy một số trang chiếm rất nhiều RAM:

nhập mô tả hình ảnh ở đây

  1. Tại sao họ mất quá nhiều RAM?
  2. Có cách nào để biết mỗi trang mất bao nhiêu RAM để tôi điều tra không?

Cảm ơn bạn.


9
Chrome cũng có trình quản lý tác vụ riêng . Và nhập chrome://memory-redirect/nếu bạn muốn thêm một số.
slhck

1
Cảm ơn vì tiền hỗ trợ. Hóa ra Chrome không sử dụng một quy trình cho một tab / trang: Một quy trình có thể trỏ đến một tab và nhiều trang web, vì vậy tôi không thể biết đó là sử dụng bao nhiêu RAM.
OverTheRainbow

Câu trả lời:


23

Chrome là người tiêu dùng RAM nặng nhất trên thị trường trình duyệt. Nó giao dịch tăng sử dụng bộ nhớ để tăng tốc độ. Tuy nhiên, nếu bạn sử dụng ít RAM có sẵn, nó sẽ trở thành trình duyệt chậm nhất trên thị trường (so với trình duyệt sử dụng tài nguyên đủ nhỏ để duy trì đầy đủ RAM thay vì phân trang vào đĩa cứng.)

Tại đây, nhóm phát triển Chromium thảo luận về mặt tốt và mặt xấu của mô hình bộ nhớ này được sử dụng trong Chrome .

Và tại đây, bạn có thể định cấu hình Chrome để sử dụng các mô hình bộ nhớ thay thế với nhiều sự đánh đổi khác nhau, bao gồm chế độ xử lý đơn "kiểu firefox": http://dev.chromium.org/developers/design-document/ Process-models


8
  1. Tại sao các trang web chiếm quá nhiều RAM?

Chrome sử dụng mô hình theo quy trình, có nghĩa là đối với mỗi tab (hoặc nhóm các tab liên quan), nó sử dụng một quy trình riêng thay vì một chuỗi riêng biệt. Điều đó về cơ bản có nghĩa là mỗi tab là một chương trình đang chạy riêng biệt. Bằng cách đó, nếu có bất kỳ sự cố nào, chúng sẽ tự đi xuống thay vì gỡ xuống toàn bộ trình duyệt (nó cũng làm điều tương tự đối với các plugin và hầu hết các tiện ích mở rộng).

Điều này có những lợi ích rõ ràng của nó (hộp cát là chính), nhưng tất nhiên nó cũng có những nhược điểm như thực tế là mỗi cái đều có bộ nhớ, điều đó có nghĩa là Chrome sử dụng nhiều RAM hơn cho cùng một bộ trang mở so với các trình duyệt. không sử dụng mô hình theo quy trình (các trình duyệt khác đã bắt đầu chuyển sang phương pháp này kể từ khi Chrome được phát hành).

Như bạn đã lưu ý, quy tắc trên mỗi quy trình không nhất thiết có nghĩa là mọi tab đều có quy trình riêng. Nó phụ thuộc vào cách trang được mở. Sử dụng mở trong tab mới hoặc mở trong cửa sổ mới sẽ mở trang / liên kết trong cùng quy trình với cha mẹ, nhưng mở trong cửa sổ ẩn danh sẽ mở nó trong một quy trình mới cũng như làm tab mớicác lệnh cửa sổ mới .

Một lý do khác khiến các trang chiếm rất nhiều RAM là vì ngày nay, hầu hết các trang web đều chứa rất nhiều JavaScript và Flash khiến cả CPU và RAM đều nặng (điều đó cũng có nghĩa là các hệ thống cũ không thể duyệt Internet một cách thoải mái, do đó không có lâu hơn như là một "hệ thống đã sử dụng, cũ, nhưng tốt cho trình duyệt"). Tồi tệ hơn, các plugin và tiện ích mở rộng (và thậm chí có thể là chính Chrome) có thể bị rò rỉ bộ nhớ sau một thời gian, làm tăng thời gian sử dụng bộ nhớ.

  1. Có cách nào để biết mỗi trang mất bao nhiêu RAM để tôi điều tra không?

Thật không may, không có cách nào (được biết / dễ dàng) để xem việc sử dụng bộ nhớ trên mỗi trang. Cách gần nhất là nhấn Shift+Eschoặc bấm chuột phải vào dải tab và chọn Trình quản lý tác vụ để xem mức sử dụng bộ nhớ theo quy trình.

Một điều bạn có thể thử là mở từng trang trong một quy trình mới (sử dụng một trong các phương pháp đã nói ở trên) và sau đó so sánh.


Cảm ơn, tôi đã đặt câu hỏi cho câu trả lời này. Tôi không thể tin làm thế nào một trang web đơn giản có thể mất 300 MB.
Federico Ponzi

1

Hãy thử cờ lê, công cụ, công cụ phát triển, kiểm toán

Rất nhiều đề xuất để cải thiện hiệu quả của trang web của bạn lý do tại sao các trang web cụ thể của người khác sử dụng tài nguyên quá mức.


Tôi không nói về các trang web của mình, mà là các trang web tôi đang đọc trên Net và cuối cùng tôi đã hút rất nhiều RAM đến mức tôi phải đánh dấu chúng, khởi động lại Chrome và mở lại các trang.
OverTheRainbow
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.