Як змусити Google-хром або хром використовувати менше пам'яті


13

Мій комп’ютер має лише 4 Гб пам’яті, а відкриття 8-12 випадкових вкладок із хрому чи хрому часто заморожує мій комп'ютер. В даний час я використовую google-chrome-stable --process-per-site. Це певною мірою допомагає. Чи є спосіб запустити хром або хром в одному процесі? Чи може хто-небудь дати мені кілька порад, як контролювати надмірне використання пам'яті хрому?


Чому ви вважаєте, що Chrome використовує більше пам’яті, ніж йому потрібно? Сучасні браузери були б надзвичайно повільними, якби вони використовували лише один процес. Чому ви думаєте, що Chrome використовував би менше пам’яті, якби це був лише один процес?
Рамхаунд

Я думаю, що одного разу, коли я перевірив, я виявив, що IE значно кращий з точки зору сліду пам’яті. IE деякий час був жартом, як V6-V9 або щось подібне, до приблизно v10 або v11. Кажуть, нинішня версія не надто погана. Погляньте на це. Також подивіться на Opera, яка історично не була занадто голодною пам’яттю .. Хоча я мушу сказати, що я просто перевірив IE, і в одному з його випадків він використовував 102MB .., що здається багато .. але все одно, подивіться, чи знайдете ви, що IE використовує менше хром. Ви можете спробувати дуже маленькі веб-переглядачі типу "вимкнути один", але вони можуть відображати неправильно всі сторінки.
барлоп

Навіть незважаючи на те, що оперативна пам’ять дорога, коли у вас мало рівня оперативної пам’яті, більше оперативної пам’яті - це хороша інвестиція, окупається відразу!
барлоп

3
Chrome за своєю природою використовує багато пам'яті. Найкращим способом збереження пам'яті було б використання іншого браузера.
qasdfdsaq

Як ви не вказуєте, на linux ви можете мати своп як компресований ram, використовуючи zramпакет zram-config. Допомагає уникати тривалих замерзань.
Сила Водолія

Відповіді:


3

Існує плагін, який ви можете використовувати для запису пам'яті невикористаних відкритих вкладок для обміну. Він вивільняє таку кількість пам’яті, тому хром / хром показує менше споживання пам’яті.

Шукайте підвіску Tab у веб-магазині плагінів.

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


є "великий підвіска" занадто chrome.google.com/webstore/detail/the-great-suspender/…
Сила Водолія

але ваша пропозиція набагато класніша, змінена на неї, THX!
Сила Водолія

3

Я використовую cgroup таким чином:

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

Сам хром іноді може дещо сповільнюватися, як це здається, заміняється, але це не змусить усю систему зависнути на заміну інших програм, тому просто хром / хром поміняються місцями, як тільки він "досягне межі 1 ГБ".

Але ... якщо ви подивитесь на htop, ви побачите багато процесів хромування, які суми пам'яті резидента трохи перевищують 1 Гб, я думаю, мені потрібна додаткова інформація про це.

ще не намагався memory.soft_limit_in_bytesзрозуміти, чи допомагає це якимось чином, як це пропонується за посиланням /superuser//a/1168435/157532 .

але в цілому хром використовує набагато менше оперативної пам’яті, ніж раніше, і його явно поміняють багато, тому ці команди групи працюють, незважаючи на те, що я бачу на htop, тому cgroup, схоже, намагається зберегти хром, використовуючи «не багато більше 1 Гб ", що досить добре"


1
topпоказує використання пам'яті в байтах, МБ, ГБ або ТБ. Це повноваження 1000, а не 1024. Ось, мабуть, тому ви бачите, що це трохи вище своєї мети.
jcoffland

Крім того, чи буде це зберігатися заново? Як вона порівнюється з цим рішенням, на яке пише /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes?
Дан Даскалеску

1
@DanDascalescu btw, я думаю, це зараз не дуже добре працює ... хром породжує більше 15 незалежних ниток, і ця межа застосовуватиметься до кожної нитки (а не обмеження для всіх, як обмеження у групі). Я спробую знайти спосіб створити ліміт, який розміщує кожну нитку та обмежує їх усі разом (а не ізольований, як це здається зараз).
Сила Водолія

1

У мене те саме питання, і я не один: Chrome / Chromium їсть багато пам’яті . Іноді це спричиняє замерзання системи (в моєму випадку Linux Mint 17).

рішення 1

Як вирішення, я почав використовувати це розширення Chrome: чудовий підвіска

рішення 2

Але є кілька інших рішень, наприклад linuxcgroup ( https://gist.github.com/juanje/9861623 )

інші рішення

Я додав свої інші рішення до своєї першої відповіді на подібне запитання.

У будь-якому разі: Chrome - хороший (мабуть, найкращий) веб-браузер, і на сьогодні сайти мають високі вимоги (багато JS, полотно, SVG, вбудоване відео, веб-розетки ..). Намагатися скоротити частину функціональності - не дуже гарна ідея. Єдина проблема, яку я намагаюся вирішити (принаймні для мене): ніхто не хоче сидіти біля замороженої системи .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.