Ограничение использования ОЗУ в Chrome?

Когда несколько часов открываются в Google Chrome в течение нескольких часов / дней, я замечаю, что некоторые страницы в конечном итоге используют огромное количество оперативной памяти, до такой степени, что вся ОС (XP) перестает отвечать на запросы из-за пейджинга. Когда мне повезет, я могу, наконец, пометить список открытых URL-адресов, закрыть Chrome и начать заново; Когда я этого не сделаю, я просто должен убить Chrome и надеюсь, что смогу восстановить список открытых URL-адресов.

  • Почему это? Утечка памяти в плагинах?
  • Есть ли способ настроить Chrome, чтобы одна вкладка / страница не использовала больше заданного объема оперативной памяти?

Спасибо.

Я думаю, вам стоит просто купить столько оперативной памяти, сколько может работать ваша ОС. Вы не должны ограничивать использование ОЗУ Chrome, потому что это просто испортит ваш опыт серфинга в Интернете. Предполагая, что вы используете свой компьютер для серфинга в Интернете большую часть времени, вы должны позволить Chrome получить все необходимые ему ресурсы, чтобы обеспечить производительность, которую вы хотите, чтобы вы «наслаждались» работой с этими вкладками одновременно.

Я не думаю, что есть способ ограничить использование RAM каждой отдельной вкладки, но вы можете ограничить использование Chrome в целом. Смотри сюда:

https://stackoverflow.com/questions/192876/set-windows-process-or-user-memory-limit

Я бы предпочел не делать этого, если бы я был вами, если бы я хотел бы сгладить веб-серфинг.

  1. Я написал программу Python 2.5, которая убивает рендереры хром, когда они используют более установленный объем памяти. Я запускаю эту программу под watch . (Обратите внимание, что он использует модуль psutil, который не входит в состав Python.)

     import sys, os, psutil if len(sys.argv) == 2: try: limit = int(sys.argv[1]) except: limit = 200 # default 200MB else: limit = 200 uid = os.getuid() for p in psutil.get_process_list(): try: if (p.name == 'chrome' and any('type=renderer' in part for part in p.cmdline) and p.uid == uid): m = p.get_memory_info() #print p.pid,m, m.rss / 1024 / 1024, m.vms / 1024 / 1024 if (m.rss / 1024 / 1024) > limit: # kill if rss is greater than limit print 'Killed', p.pid p.kill() except psutil.error.NoSuchProcess: pass except psutil.error.AccessDenied: pass 
  2. Я полагаюсь на Session Buddy, чтобы восстановить открытые вкладки, когда хром не смог их восстановить.

Это не обязательно плагин. Обратите внимание, что веб-страницы больше не являются статическими. На некоторых веб-страницах просто нетривиальная сумма асинхронной активности. Добавьте активность из плагинов, и у вас есть неизвестные.

Лучшее средство, которое я нашел, – это убить веб-страницу и перезагрузить ее. AFAIK, нет возможности ограничить объем ОЗУ, который использует веб-страница.

Используйте расширение TabsOutliner – это даст вам простой способ «закрыть» вкладки, не удаляя их фактически из вашего контекста и текущего списка сеансов. Очень полезно.

Расширение вкладки Extensions

Убейте процесс табуляции, в котором используется большое количество памяти (я замечаю, что что-либо с Flash имеет тенденцию использовать 500MB +). Вы можете просто перезагрузить мертвые вкладки позже, когда захотите возобновить работу в них.

Единственное, что я видел на сегодняшний день, которое может это сделать, – запустить хром внутри контейнера и ограничить емкость контейнера .

Однако это имеет некоторые основные оговорки,

  • Запуск хрома осложняется установкой докереза ​​и последовательностью запуска

  • Например, Chrome уже использует контейнеры ядра для песочницы для своих потоков; Поэтому вам нужно запустить контейнер с привилегией root, который позволяет работать. Это можно обойти, и модель связанного контейнера делает это. (Он делает практически все, что ему нужно)

  • Вы почти наверняка потеряете gpu-ускорение

  • Получение звука для работы сложнее, но обрабатывается в связанной модели контейнера.

  • Независимо от того, что вы ожидаете ошибиться, когда вы аннулируете гарантию, Chrome сильно не любит, когда ему говорят, чтобы не использовать больше баранов, и будут действовать соответственно и истерично.

Но в конечном итоге это работает.

Я больше заинтересован в применении этих пределов ram для приложений Electron Shell, у которых нет готовых изображений докеров, чтобы их вызывать.


Off, но я хочу отметить, что Firefox очень хорошо себя ведет на ограниченном оборудовании, но я не считаю это реальным ответом.

  • Chrome отображает страницу для секундной разметки, затем она пуста
  • Почему в браузере Google Chrome не работают быстрые клавиши?
  • Google постоянно обновляется в Chrome
  • Как отключить раздражающую автозаполнение хром?
  • Случайные поисковые запросы в Google Chrome
  • Как перевести Google Chrome с Beta на Stable?
  • Как удалить одно кешированное имя пользователя из Chrome?
  • Как заставить хром перестать запрашивать меня при загрузке PDF-файлов?
  • Сделать chrome поместить http: // в браузер
  • Google Chrome не сохраняет пароли (а не автоматически заполняет существующие логины / пароли)
  • Как удалить запись из URL-адресов, отмеченных в Chrome, из строки url?
  • Interesting Posts

    Как вернуть значение с этапа до его закрытия?

    Подход DDD для доступа к внешней информации

    Как отсортировать первые каталоги, затем файлы и т. Д. … при использовании «ls» в Unix

    Что такое аннотация Scala для оптимизации рекурсивной функции хвоста?

    Как найти и заменить регулярное выражение в Microsoft Word

    андроид предотвращает немедленный запуск службы сигнализации, если время тревоги прошло за день

    C # webbrowser Ajax call

    В C, какой правильный синтаксис для объявления указателей?

    Windows 10 продолжает перезагружать мой компьютер после выключения

    Установите ширину разделителя «Позиция: фиксированный» относительно родительского div

    Перехват ссылок из браузера, чтобы открыть приложение для Android

    Расширение enums через наследование

    Каковы наилучшие методы для вложенных ресурсов REST

    Тройная выходная видеокарта

    Редактирование надписей (текстовых) меток в ggplot

    Давайте будем гением компьютера.