Ketika membiarkan beberapa tab terbuka di Google Chrome selama berjam-jam / hari, saya perhatikan bahwa beberapa halaman pada akhirnya menggunakan sejumlah besar RAM, ke titik di mana seluruh OS (XP) menjadi tidak responsif karena paging. Ketika saya beruntung, saya akhirnya dapat mem-bookmark daftar URL terbuka, tutup Chrome, dan mulai lagi; Ketika tidak, saya hanya harus membunuh Chrome dan berharap saya dapat memulihkan daftar URL terbuka.
- Mengapa demikian? Memori bocor di plug-in?
- Apakah ada cara untuk mengonfigurasi Chrome sehingga satu tab / halaman tidak akan menggunakan lebih dari jumlah RAM yang ditentukan?
Terima kasih.
google-chrome
OverTheRainbow
sumber
sumber
Jawaban:
Saya pikir Anda harus memilih untuk membeli RAM sebanyak yang OS Anda bisa tangani. Anda tidak boleh membatasi penggunaan RAM Chrome karena itu hanya akan merusak pengalaman berselancar Anda di Web. Dengan asumsi bahwa Anda menggunakan komputer Anda untuk berselancar di Internet sebagian besar waktu, Anda harus membiarkan Chrome mendapatkan semua sumber daya yang dibutuhkan untuk memberikan kinerja yang Anda inginkan agar Anda "nikmati" menjalankan tab-tab tersebut pada saat yang sama.
Saya tidak berpikir ada cara untuk membatasi penggunaan RAM setiap tab tetapi Anda dapat membatasi penggunaan Chrome sama sekali. Lihat di sini:
/programming/192876/set-windows-process-or-user-memory-limit
Saya lebih suka tidak melakukan itu, jika saya adalah Anda, jika saya ingin menjelajahi web dengan lancar.
sumber
Saya menulis sebuah program Python 2.5 yang membunuh penyaji chrome ketika mereka menggunakan lebih dari jumlah memori yang ditentukan. Saya menjalankan program ini di bawah
watch
. (perhatikan bahwa ia menggunakan modul psutil yang tidak termasuk dengan Python.)Saya mengandalkan Session Buddy untuk memulihkan tab yang terbuka ketika chrome gagal mengembalikannya.
sumber
Last Tabs
file tersebut, tidak mungkin mengembalikan tab dari file itu. Saya mencoba untuk menentukan format dan mengekstrak URL dari itu dulu sekali. Itu tidak berhasil. Dan saya lebih percaya pada SQLite daripada format biner yang digunakan Chrome untuk menyimpan tab sesi saat ini, itulah sebabnya SB lebih baik.Satu-satunya hal yang saya lihat sampai saat ini yang dapat melakukan ini adalah menjalankan chrome di dalam wadah dan membatasi ram kontainer .
Namun ini memiliki beberapa peringatan utama,
Menjalankan chrome rumit oleh pengaturan dockerize dan urutan peluncuran
untuk satu, Chrome sudah menggunakan wadah kernel untuk mengamplas utasnya; jadi Anda harus menjalankan container dengan semacam privilege root yang memungkinkannya bekerja. Ini bisa dielakkan, dan model wadah yang terhubung melakukannya. (Itu praktis semua yang dibutuhkan)
Anda hampir pasti akan kehilangan akselerasi GPU
membuat audio berfungsi adalah rumit, tetapi ditangani dalam model wadah yang ditautkan.
Apa pun yang Anda harapkan salah saat membatalkan garansi, Chrome tidak suka diberitahu untuk tidak menggunakan lebih banyak ram, dan akan bertindak dan mengamuk karenanya.
Tapi itu akhirnya berhasil.
Saya lebih tertarik menerapkan batas ram ini ke aplikasi Electron Shell yang tidak memiliki gambar docker prebuilt untuk memutarnya untuk Anda.
Di luar topik, tetapi saya ingin mencatat bahwa Firefox berperilaku sangat baik pada perangkat keras terbatas, tetapi saya tidak menganggap itu sebagai jawaban nyata.
sumber
Itu belum tentu plugin. Perhatikan bahwa halaman web tidak lagi statis. Beberapa halaman web hanya memiliki jumlah aktivitas async yang tidak sepele. Tambahkan aktivitas dari plug-in dan Anda mendapatkan beberapa yang tidak diketahui.
Obat terbaik yang saya temukan adalah mematikan halaman web dan memuatnya kembali. AFAIK, tidak ada cara untuk membatasi jumlah RAM yang digunakan laman web.
sumber
Gunakan ekstensi TabsOutliner - ini akan memberi Anda cara mudah untuk "mematikan" tab tanpa benar-benar menghapusnya dari konteks dan daftar sesi Anda saat ini. Sangat berguna.
Ekstensi Tab Outliner
sumber
Matikan proses tab yang menggunakan memori dalam jumlah besar (saya perhatikan bahwa apa pun yang menggunakan Flash cenderung menggunakan 500MB +). Anda bisa memuat ulang tab yang mati nanti ketika Anda ingin kembali bekerja di dalamnya.
sumber
TabMemFree akan secara otomatis menangguhkan tab yang tidak aktif. Anda dapat menentukan berapa lama sebelum ia menangguhkan tab tidak aktif, dengan minimum 15 menit. Anda juga dapat memerintahkannya untuk mengabaikan tab yang disematkan.
Tab Wrangler adalah ekstensi lain untuk dipertimbangkan yang secara otomatis menangguhkan tab tidak aktif jika Anda mencari sedikit lebih banyak kontrol. Seperti TabMemFree, Anda dapat menentukan lamanya waktu sebelum tab dianggap tidak aktif dan mengaturnya untuk mengabaikan tab yang disematkan, tetapi Anda memiliki opsi tambahan untuk mengunci tab tambahan dan untuk menyinkronkan pengaturan tab Anda di antara komputer yang berbeda.
sumber