Хром съедает всю оперативку и зависает система

9

Как не дать хрому взять больше чем например 4ГБ оперативной памяти. Время от времени он решает взять что-то вроде 7 ГБ (всего 8 ГБ ОЗУ) и делает мой компьютер непригодным для использования.

У вас есть помощь?

PS: у меня даже не было более 10 открытых вкладок. Редактировать: возможно я сделал ... что-то вроде 15. В любом случае я хочу, чтобы chrome зависал или выключался, чтобы не зависать вся система.

Ян Кайфер
источник
Вы изучали limits.confили ulimit?
DopeGhoti
Это прекрасная идея! Жаль, что ulimitне поддерживается для Windows !
jpaugh
У меня их мало (React dev, плагин, Vimium, Addblock, несколько плагинов Google). Поэтому я не ожидаю, что те будут есть как 4 ГБ ОЗУ
Ян Кайфер

Ответы:

6

Я считаю, что вы хотели бы использовать что-то вроде cgroupsограничения ресурсов для отдельного процесса.

Таким образом , вы можете захотеть сделать что - то вроде этого , кроме как с

cgcreate -g memory,cpu:chromegroup cgset -r memory.limit_in_bytes=2048 chromegroup

создать Chromegroup и ограничить использование памяти для группы до 2048 байт

cgclassify -g memory,cpu:chromegroup $(pidof chrome)

переместить текущие процессы Chrome в группу и ограничить их использование памяти до установленного предела

или просто запустить Chrome в группе, как

cgexec -g memory,cpu:chromegroup chrome

Тем не менее, довольно безумно, что Chrome использует столько памяти в первую очередь. Попробуйте сначала выполнить очистку переустановки / перекомпиляции, чтобы увидеть, не решит ли это проблему, поскольку на самом деле не следует использовать столько памяти для начала, и это решение является всего лишь вспомогательным средством по сравнению с реальной проблемой.

Тайлер Чемберс
источник
1
У меня та же проблема с Firefox, даже если он отлично работает в другой системе с ограниченным объемом ОЗУ, с гораздо меньшей доступностью для него. Я думаю, что разработчики браузеров решили, что они должны использовать всю доступную оперативную память в любой системе.
jpaugh
4

Я считаю, что вы можете использовать утилиту ulimit . Опция -d : страница руководства ulimit (3)

Вы можете снизить свой программный лимит даже без корневого доступа к серверу.

Георги Цветанов Ценов
источник