Cara membuat google-chrome atau chromium menggunakan lebih sedikit memori

13

Komputer saya hanya memiliki memori 4GB, dan membuka 8-12 tab acak pada krom atau krom sering membekukan komputer saya. Saat ini saya menggunakan google-chrome-stable --process-per-site. Ini membantu sampai batas tertentu. Apakah ada cara untuk menjalankan chrome atau chromium dalam satu proses? Adakah yang bisa memberi saya beberapa tips tentang cara mengontrol penggunaan memori yang berlebihan dari chrome?

crysoberil
sumber
Mengapa Anda merasa Chrome menggunakan lebih banyak memori daripada yang dibutuhkan? Browser modern akan sangat lambat jika mereka hanya menggunakan satu proses. Apa yang membuat Anda berpikir Chrome akan menggunakan lebih sedikit memori jika hanya satu proses?
Ramhound
Saya pikir suatu kali saya memeriksa, saya menemukan IE jauh lebih baik dalam hal jejak memori. IE adalah lelucon untuk sementara waktu seperti V6-V9 atau sesuatu sampai sekitar v10 atau v11. Mereka mengatakan versi saat ini tidak terlalu buruk. Lihatlah itu. Lihat juga Opera yang secara historis tidak terlalu haus memori .. Meskipun saya harus mengatakan saya baru saja memeriksa IE dan dalam salah satu contohnya ia menggunakan 102MB .. yang sepertinya sangat banyak .. tapi bagaimanapun, lihat apakah Anda menemukan IE menggunakan kurang dari chrome. Anda dapat mencoba browser yang sangat kecil seperti "tidak aktif" tetapi mereka mungkin tidak menampilkan semua halaman dengan benar.
barlop
Meskipun RAM mahal, ketika Anda kekurangan RAM, lebih banyak RAM adalah investasi yang baik, langsung terbayar!
barlop
3
Chrome pada dasarnya menggunakan banyak memori. Cara terbaik untuk menghemat memori adalah menggunakan browser lain.
qasdfdsaq
Karena Anda tidak menentukan, di linux Anda dapat menggunakan swap sebagai ram terkompresi zram, paketnya adalah zram-config. Membantu menghindari pembekuan lama.
Aquarius Power

Jawaban:

3

Ada plugin yang bisa Anda gunakan untuk menulis memori tab terbuka yang tidak digunakan untuk bertukar. Ini melepaskan jumlah memori itu, sehingga CHrome / kromium menunjukkan konsumsi memori lebih sedikit.

Cari Tab-suspender di toko web plugin.

https://chrome.google.com/webstore/detail/tab-suspender/fiabciakcmgepblmdkmemdbbkilneeeh

Victor Vidal
sumber
ada "suspender hebat" juga chrome.google.com/webstore/detail/the-great-suspender/…
Aquarius Power
tapi saran Anda jauh lebih keren, ubah, thx!
Aquarius Power
3

Saya menggunakan cgroup dengan cara ini:

sudo cgcreate -a $USER:$USER -t $USER:$USER -g memory:groupChromiumMemLimit
sudo cgset -r memory.limit_in_bytes=$((1024*1024*1024)) groupChromiumMemLimit
cgexec -g memory:groupChromiumMemLimit chromium-browser

Kromium itu sendiri kadang-kadang mungkin agak melambat, karena tampaknya bertukar, tetapi itu tidak akan membuat seluruh sistem bertahan pada swapping aplikasi lain, jadi kromium / krom akan bertukar segera setelah "mencapai batas 1GB".

Tapi ... jika Anda melihat htop, Anda akan melihat banyak proses kromium yang menjumlahkan memori penduduk sedikit di atas 1GB, saya pikir saya perlu info lebih lanjut tentang ini.

havent belum mencoba memory.soft_limit_in_bytesuntuk melihat apakah itu membantu dalam beberapa cara, seperti yang disarankan dalam tautan yang disediakan oleh /superuser//a/1168435/157532 .

tetapi secara keseluruhan, kromium menggunakan RAM jauh lebih sedikit daripada biasanya, dan itu jelas banyak ditukar, jadi perintah cgroup ini bekerja terlepas dari apa yang dapat saya lihat di htop, jadi cgroup tampaknya mencoba untuk menjaga kromium menggunakan "tidak banyak lebih dari 1GB "apa yang cukup baik.

Aquarius Power
sumber
1
topmenunjukkan penggunaan memori dalam byte, MB, GB atau TB. Ini adalah kekuatan 1000 bukan 1024. Mungkin itulah sebabnya Anda melihatnya sedikit di atas target Anda.
jcoffland
Juga, apakah ini akan terus reboot? Bagaimana perbandingannya dengan solusi yang menulis ini /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes?
Dan Dascalescu
1
@DanDascalescu btw, saya pikir ini tidak bekerja dengan baik sekarang ... kromium memunculkan lebih dari 15 utas independen dan batas itu akan berlaku untuk setiap utas (dan bukan batas bagi mereka semua seperti batas grup). Saya akan mencoba menemukan cara untuk membuat batas yang SUMs setiap utas dan membatasi semuanya bersama-sama (dan tidak terisolasi seperti yang tampaknya sekarang).
Aquarius Power
1

Saya memiliki masalah yang sama, dan saya tidak sendirian: Chrome / Chromium memakan banyak memori . Kadang-kadang, ini menyebabkan sistem membeku (dalam kasus saya, Linux Mint 17).

solusi 1

Sebagai solusi, saya mulai menggunakan Chrome-Extension: the-great-suspender

solusi 2

Tetapi ada beberapa solusi lain, misalnya linuxcgroup ( https://gist.github.com/juanje/9861623 )

solusi lain

Saya telah melampirkan solusi saya yang lain untuk jawaban pertama saya untuk pertanyaan serupa.

Pokoknya: Chrome adalah browser web yang bagus (mungkin terbaik), dan situs saat ini memiliki persyaratan tinggi (banyak JS, kanvas, SVG, embed video, soket web ..). Mencoba untuk memotong beberapa fungsi - bukan ide yang baik. Satu-satunya masalah yang saya coba selesaikan (setidaknya untuk saya): tidak ada yang mau duduk di dekat sistem beku .

maxkoryukov
sumber