Как заставить гугл-хром или хром использовать меньше памяти

13

Мой компьютер имеет только 4 ГБ памяти, и открытие 8-12 случайных вкладок на хром или хром часто замораживает мой компьютер. В настоящее время я использую google-chrome-stable --process-per-site. Это помогает в некоторой степени. Есть ли способ запустить хром или хром в одном процессе? Кто-нибудь может дать мне несколько советов о том, как контролировать чрезмерное использование памяти Chrome?

crysoberil
источник
Почему вы чувствуете, что Chrome использует больше памяти, чем нужно? Современные браузеры будут очень медленными, если они будут использовать только один процесс. С чего вы взяли, что Chrome использовал бы меньше памяти, если бы это был только один процесс?
Ramhound
Я думаю, что однажды я проверил, я обнаружил, что IE намного лучше с точки зрения использования памяти. Некоторое время IE был шуткой, вроде V6-V9 или чего-то подобного, примерно до v10 или v11. Говорят, текущая версия не так уж плоха. Взгляни на это. Также посмотрите на Opera, которая исторически не слишком требовательна к памяти. Хотя я должен сказать, что я только что проверил IE, и в одном из его случаев он использовал 102 МБ ... что кажется много ... но в любом случае, посмотрите, если вы обнаружите, что IE использует меньше, чем хром. Вы можете попробовать очень маленькие браузеры, такие как «off by one», но они могут отображать не все страницы правильно.
Бароп
Несмотря на то, что ОЗУ стоит дорого, когда у вас мало ОЗУ, увеличение объема ОЗУ - это хорошая инвестиция, окупающаяся сразу же!
Бароп
3
Chrome по своей природе использует много памяти. Лучший способ сэкономить память - использовать другой браузер.
qasdfdsaq
Как вы не укажете, в Linux вы можете использовать swap как сжатый ram zram, пакет zram-config. Помогает избежать длительных заморозков.
Водолей Сила

Ответы:

3

Существует плагин, который вы можете использовать для записи памяти неиспользуемых открытых вкладок для замены. Он высвобождает такое количество памяти, поэтому CHrome / хром показывает меньшее потребление памяти.

Ищите Tab-подвеску в интернет-магазине плагинов.

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

Виктор Видаль
источник
есть и «великая подвеска» chrome.google.com/webstore/detail/the-great-suspender/…
Водолей Сила
но ваше предложение намного круче, поменялось на него, спасибо!
Водолей Сила
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 .

но в целом, хром использует гораздо меньше оперативной памяти, чем раньше, и его явно меняют местами, поэтому эти команды cgroup работают, несмотря на то, что я вижу на htop, поэтому cgroup, похоже, пытается сохранить хром, используя «не очень много». более 1ГБ "что достаточно хорошо.

Водолей Сила
источник
1
topпоказывает использование памяти в байтах, МБ, ГБ или ТБ. Это силы 1000, а не 1024. Возможно, поэтому вы видите, что он немного выше вашей цели.
jcoffland
Кроме того, это будет продолжаться перезагрузки? Как это соотносится с этим решением, которое пишет /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes?
Дан Даскалеску
1
@DanDascalescu, кстати, я думаю, что это не очень хорошо работает сейчас ... хром порождает более 15 независимых потоков, и этот предел будет применяться к каждому потоку (а не ограничение для них всех, как ограничение группы). Я попытаюсь найти способ создать ограничение, которое суммирует каждый поток и ограничивает их все вместе (а не изолированно, как кажется сейчас).
Водолей Сила
1

У меня та же проблема, и я не одинок: Хром / Хром кушает много памяти . Иногда это приводит к зависанию системы (в моем случае Linux Mint 17).

решение 1

В качестве обходного пути я начал использовать это расширение Chrome: the-great-подвеска

Решение 2

Но есть несколько других решений, например Linuxcgroup ( https://gist.github.com/juanje/9861623 )

другие решения

Я приложил свои другие решения к моему первому ответу на подобный вопрос.

В любом случае: Chrome - хороший (возможно, лучший) веб-браузер, и сегодня сайты предъявляют высокие требования (много JS, canvas, SVG, вставка видео, веб-сокеты ...). Попытка сократить некоторые функциональные возможности - не очень хорошая идея. Единственная проблема, которую я пытаюсь решить (по крайней мере, для меня): никто не хочет сидеть рядом с замороженной системой .

maxkoryukov
источник