Mengapa halaman web mengambil banyak RAM?

25

Setelah membiarkan banyak halaman terbuka di Chrome, komputer saya menjadi lamban. Windows Task Manager menunjukkan bahwa beberapa halaman membutuhkan banyak RAM:

masukkan deskripsi gambar di sini

  1. Mengapa mereka mengambil begitu banyak RAM?
  2. Apakah ada cara untuk mengetahui berapa banyak RAM yang dibutuhkan setiap halaman, sehingga saya selidiki?

Terima kasih.

OverTheRainbow
sumber
9
Chrome juga memiliki pengelola tugasnya sendiri . Dan masukkan chrome://memory-redirect/jika Anda siap untuk lebih.
slhck
1
Terima kasih atas tipnya. Ternyata Chrome tidak menggunakan satu proses untuk satu tab / halaman: Suatu proses dapat mengarah ke satu tab dan melipatgandakan halaman web, jadi saya tidak tahu mana yang menggunakan berapa banyak RAM.
OverTheRainbow
1
Semua chrome: // halaman memori hilang sekarang.
kenorb

Jawaban:

23

Chrome adalah konsumen RAM terberat di pasar browser. Ini memperdagangkan peningkatan penggunaan memori untuk meningkatkan kecepatan. Namun, jika Anda kehabisan RAM yang tersedia, itu menjadi browser paling lambat di pasar (dibandingkan dengan yang akan cukup kecil dalam penggunaan sumber daya untuk tetap sepenuhnya dalam RAM daripada paging ke hard disk.)

Di sini tim pengembangan Chromium membahas baik dan buruknya model memori yang digunakan di Chrome .

Dan di sini Anda dapat mengonfigurasi Chrome untuk menggunakan model memori alternatif dengan berbagai pengorbanan, termasuk mode proses tunggal "firefox": http://dev.chromium.org/developers/design-documents/process-models

Syclone0044
sumber
8
  1. Mengapa halaman web mengambil banyak RAM?

Chrome menggunakan model per proses yang berarti bahwa untuk setiap tab (atau grup tab terkait), ia menggunakan proses terpisah alih-alih utas terpisah. Itu pada dasarnya berarti bahwa setiap tab adalah program berjalan yang terpisah. Dengan begitu, jika ada kerusakan, mereka turun sendiri alih-alih menghapus seluruh browser (itu melakukan hal yang sama untuk plugs dan sebagian besar ekstensi).

Ini memiliki manfaat yang jelas (sandboxing menjadi yang utama), tetapi tentu saja ia juga memiliki kelemahan seperti kenyataan bahwa masing-masing memiliki overhead memori, yang berarti bahwa Chrome menggunakan lebih banyak RAM secara keseluruhan untuk set halaman yang sama daripada browser yang melakukan tidak menggunakan model per-proses (browser lain sudah mulai bergerak ke arah metode ini sejak Chrome dirilis).

Seperti yang telah Anda catat, aturan per-proses tidak berarti bahwa setiap tab mendapatkan prosesnya sendiri. Tergantung bagaimana halaman dibuka. Menggunakan buka di tab baru atau buka di jendela baru membuka halaman / tautan dalam proses yang sama dengan orang tua, tetapi buka di jendela penyamaran membukanya dalam proses baru seperti halnya tab baru dan perintah jendela baru .

Alasan lain mengapa halaman mengambil banyak RAM adalah karena saat ini, sebagian besar halaman web menyertakan banyak JavaScript dan Flash yang menjadikan keduanya CPU dan RAM yang berat (yang juga berarti bahwa sistem yang lebih lama tidak dapat menjelajahi Internet dengan nyaman, sehingga tidak ada lebih lama disebut "sistem bekas, lama, tapi bagus untuk browsing"). Lebih buruk lagi, plugin dan ekstensi (dan mungkin bahkan Chrome sendiri) dapat membocorkan memori setelah beberapa saat, meningkatkan penggunaan memori pada waktunya.

  1. Apakah ada cara untuk mengetahui berapa banyak RAM yang dibutuhkan setiap halaman, sehingga saya selidiki?

Sayangnya tidak ada cara (dikenal / mudah) untuk melihat penggunaan memori per halaman. Cara terdekat adalah dengan menekan Shift+Escatau mengklik kanan strip tab dan pilih Task Manager untuk melihat penggunaan memori per-proses.

Satu hal yang dapat Anda coba adalah membuka setiap halaman dalam proses baru (menggunakan salah satu metode yang disebutkan di atas) dan kemudian membandingkan.

Bobson
sumber
Terima kasih, saya akan mengajukan pertanyaan untuk jawaban ini. Saya tidak percaya bagaimana halaman web sederhana bisa memakan 300MB.
Federico Ponzi
1

Coba spanner, alat, alat pengembang, audit

Banyak saran untuk meningkatkan efisiensi halaman web Anda alasan mengapa halaman web spesifik orang lain menggunakan sumber daya yang berlebihan.

RedGrittyBrick
sumber
Saya tidak berbicara tentang halaman web saya, melainkan halaman web yang saya baca di internet dan akhirnya menyedot begitu banyak RAM sehingga saya harus membookmark mereka, restart Chrome, dan membuka kembali halaman.
OverTheRainbow