Почему браузер занимает много оперативной памяти
Перейти к содержимому

Почему браузер занимает много оперативной памяти

  • автор:

Chrome Out of Memory — Как исправить Chrome, использующий слишком много памяти

Загрузка веб-страницы занимает слишком много времени или даже приводит к сбою Chrome. Вы должны найти Хрому не хватает памяти потому что это большой пожиратель ресурсов. Когда вы проверите свой диспетчер задач или монитор активности, вы найдете Chrome вверху списка. Вы можете задаться вопросом, почему Chrome использует так много оперативной памяти по сравнению с другими браузерами. Что вы должны сделать, чтобы уменьшить использование памяти Chrome? Вот окончательное руководство, которому вы должны следовать.

Chrome использует слишком много памяти

  • Часть 1. Почему Google Chrome использует так много памяти
  • Часть 2: 8 лучших способов исправить нехватку памяти в Chrome
  • Часть 3. Часто задаваемые вопросы о Chrome, использующем слишком много памяти

Часть 1. Почему Google Chrome использует так много памяти

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

Такие браузеры, как Chrome, Firefox и Opera, могут хранить каждую вкладку, плагин и расширение в разных процессах оперативной памяти, что называется изоляцией, чтобы каждый процесс мог находиться на своем месте. Когда вы открываете свой Диспетчер задач or Мониторинг системы , Google Chrome отображает разные записи. Каждый процесс использует лишь немного оперативной памяти, но когда все суммируется, нагрузка становится высокой.

Часть 2: 8 лучших способов исправить нехватку памяти в Chrome

Способ 1: Aiseesoft Mac Cleaner

Aiseesoft Mac Cleaner — это универсальное программное обеспечение для очистки Mac Space, которое удаляет память, чтобы освободить хранилище и ускорить работу Chrome. Он может легко контролировать использование ЦП вашей системы. Кроме того, он показывает использование памяти Mac, что вы можете проверить что-нибудь странное и неактивное. Это позволяет вам сканировать, просматривать и очищать ваш Mac с высокой скоростью, когда в Chrome не хватает памяти.

Mac Cleaner

161,522 Скачать

  • 1. Ускорьте работу вашего Mac, когда Chrome не хватает памяти.
  • 2. Отслеживайте использование памяти в Chrome для поиска оптимального решения.
  • 3. Удалите ненужные файлы, память, вирусы, рекламное ПО и дублированные фотографии.
  • 4. Удалите различные типы ненужных файлов, чтобы освободить место для вашего Mac.

100% безопасность. Без рекламы.

Загрузите Aiseesoft Mac Cleaner на свой MacBook и следуйте инструкциям по установке инструмента для очистки Mac. Запускаем программу и выбираем Статус: меню для проверки состояния процессора, памяти и диска.

Первые шаги

Выберите очиститель меню, в котором вы можете найти 8 типов ненужных файлов для очистки. Выберите нужный и нажмите кнопку Сканировать кнопку для сканирования типов данных на вашем Mac, таких как Большие & Старые файлы .

Сканирование больших старых файлов

Нажмите Кнопка просмотра чтобы увидеть подробные ненужные файлы, хранящиеся на вашем Mac. Теперь установите флажок рядом с данными, которые вам не нужны, и нажмите Чистка чтобы удалить ненужные файлы, чтобы исправить Chrome из памяти.

Очистить большие старые файлы

Способ 2: заблокировать Flash в Google Chrome

Откройте Google Chrome и перейдите в хром: // Настройки / содержание / вспышка столбца URL.

Первые шаги

Выключите переключатель для Разрешить запуск сайтов Flash чтобы отключить Adobe Flash Player в Chrome.

Сканирование больших старых файлов

Проверьте, является ли установленный флеш-плеер последней версией, перейдя в хром: // Компоненты в адресной строке.

Прокрутите вниз, чтобы отключить Adobe Flash Player вариант. Это может сэкономить больше места, когда Chrome занимает слишком много места.

Способ 3: обновить Google Chrome

Нажмите три точки в правом верхнем углу Chrome, выберите параметр «Справка» и нажмите О Google Chrome .

Убедитесь, что Google Chrome обновлен, и если нет, вы увидите Обновление ПО кнопку, чтобы узнать, работает ли она.

Обновите Chrome Mac

Способ 4: отключить нежелательные расширения

Откройте Google Chrome и введите Chrome: // расширения в адресной строке и нажмите кнопку Enter .
Отключите все нежелательные расширения и удалите их, нажав кнопку Удалить значку.
Перезапустите Chrome и проверьте, можете ли вы исправить утечку памяти Chrome.

Отключить расширения Chrome

Метод 5: Расширение Chrome с одной вкладкой

Добавьте Одна вкладка расширение для хрома в вашем браузере. Вы увидите выделенный значок в правом верхнем углу.

Когда вы открываете несколько вкладок, щелкните значок один раз, и тогда все вкладки будут преобразованы в одну. Вы также можете легко восстановить любую страницу.

Откройте Диспетчер задач Google Chrome чтобы проверить, не хватает ли Chrome места с расширением.

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

Способ 6: отключить аппаратное ускорение

Откройте Google Chrome, нажмите на три точки в правом верхнем углу и выберите Настройки .

Прокрутите вниз, чтобы найти Фильтр и щелкните по нему. Затем прокрутите вниз, чтобы найти Система и щелкните, чтобы отключить Использовать аппаратное ускорение когда возможно.

Для исправления Chrome занимает слишком много места. Вы также можете отключить настройки прокси.

Отключить аппаратное ускорение Google Chrome Mac

Способ 7: очистить временные файлы

Откройте Google Chrome в своей системе и перейдите в Chrome .

Перейдите к опции «Инструменты» и выберите Удалить данные о просмотре веб-страниц вариант, вы также можете использовать сочетания клавиш, Команда + Удалить + Shift чтобы освободить больше места для Chrome.

Выберите нужные параметры и нажмите кнопку Удалить данные о просмотре веб-страниц вариант для Хрома.

Очистить историю браузера

Способ 8: сброс настроек Chrome

Откройте Chrome, нажмите три точки в правом верхнем углу и выберите Настройки .

Прокрутите вниз, чтобы найти Фильтр вариант и щелкните его. Прокрутите вниз еще раз, чтобы найти Сбросить настройки вариант и щелкните его.

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

Сбросить настройки Chrome

Часть 3. Часто задаваемые вопросы о Chrome, использующем слишком много памяти

Почему я постоянно получаю сообщение о нехватке памяти в Chrome?

Ошибка нехватки памяти в Chrome связана с нехваткой оперативной памяти, слишком большим количеством программ или аппаратных компонентов, работающих одновременно. Когда задачи занимают много памяти, вы будете постоянно получать ошибку, вам лучше использовать профессиональную программу для очистить кэши заранее.

Что произойдет, если вы сбросите Chrome, чтобы уменьшить использование памяти?

Сброс Chrome вернет настройки Chrome и поисковой системы по умолчанию. Это отключит все расширения браузера и очистит кэш файлов cookie. Это эффективный способ исправить Chrome, использующий слишком много памяти, но вы должны заранее сделать резервную копию всего.

Почему Chrome собирает кеши, которые занимают слишком много памяти?

Большинство веб-браузеров будут пытаться удерживать только ограниченный объем данных кеша и файлов cookie. Это помогает Chrome работать быстрее при загрузке веб-страницы, которую вы посещали ранее. Когда вам нужно сбалансировать скорость загрузки и использование памяти для утечки памяти Chrome.

Статья предоставила вам 8 методов решения проблемы с Chrome использует слишком много памяти. Вы можете выбрать один в соответствии с вашими потребностями. Если вам нужно освободить больше места для вашего Mac или решить проблему, связанную с Chrome, Aiseesoft Mac Cleaner — это оптимальное решение, которое вы не должны пропустить.

Что вы думаете об этом посте.

Рейтинг: 4.8 / 5 (на основе голосов 277) Подпишитесь на нас в

Более Чтение

Значок Disqus

Оставьте свой комментарий и присоединяйтесь к нашему обсуждению

ящик

Blu-Ray плеер

Blu-ray Player — это мощный проигрыватель, который может воспроизводить диски Blu-ray, папку Blu-ray, DVD-диск / папку / файл ISO, выступая в качестве общего медиаплеера для любых видеофайлов HD / SD.

100% безопасность. Без рекламы.

100% безопасность. Без рекламы.

Браузер Opera потребляет много оперативной памяти — решение

Причиной того, что браузер Opera потребляет много оперативной памяти, может быть и перегруженность лишними плагинами, и засоренность кэша браузера, а также заражение системы вирусами. Из этой статьи вы узнаете, как посмотреть, насколько браузер нагружает оперативную память, и как уменьшить ее потребление и ускорить работу веб-обозревателя.

Узнаём, сколько памяти потребляет Opera

Увидеть, сколько оперативной памяти потребляют работающие в данный момент программы, можно на вкладке «Процессы» в «Диспетчере задач» Windows.

    Чтобы открыть его, нажмем горячие клавиши Ctrl + Shift + Esc или кликнем правой кнопкой мыши на кнопку «Пуск» и в контекстном меню выберем команду «Диспетчер задач».

Контекстное меню кнопки «Пуск»

Запускаем «Диспетчер задач»

Диспетчер задач Windows 10

Вкладка «Процессы»

Отключаем лишние расширения в Opera

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

    Кликнем по логотипу браузера в левом верхнем углу окна для отображения меню Opera и выберем команду «Расширения», а затем в открывшемся подменю пункт «Расширения» или воспользуемся горячими клавишами Ctrl + Shift + E.

Подменю «Расширения» в меню Оперы

Выбираем команду «Расширения»

Вкладка «Расширения» opera

Отключаем ненужные расширения

Удаляем кэш в Opera

Opera может потреблять много памяти по причине переполнения кэша браузера временными файлами, в которых содержится информация о посещенных сайтах. Для очистки кэша проделаем следующее:

    В меню Opera выберем команду «История», затем в открывшемся подменю кликаем команду «Очистить историю посещений». Альтернативный вариант — нажатие клавиш Ctrl + Shift + Del.

Оперы очистить историю посещений в опере

Выбираем команду «Очистить историю посещений» в меню Opera

Окно «Очистить историю посещений» опера

Очищаем кэш

Проверяем компьютер на вирусы

Случается, что причиной чрезмерного потребления браузером Opera оперативной памяти, и, как следствие, его медленной работы, становится наличие на компьютере вирусов. Просканируйте ПК на наличие угроз установленным на нем антивирусом или скачайте и запустите бесплатную антивирусную утилиту, например, «Kaspersky Virus Removal Tool». Загрузить ее можно с официального сайта разработчика https://www.kaspersky.ru/downloads/thank-you/free-virus-removal-tool .

Для нормальной работы браузера Opera требуется не менее 2 Гб оперативной памяти. Если объем оперативки вашего компьютера невелик, постарайтесь не запускать много программ одновременно и не открывать большое количество вкладок в браузере, – в противном случае, даже если вы выполните все приведенные выше рекомендации, «торможение» в работе Opera, всё равно может наблюдаться.

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

В этой статье мы поговорим о том, почему современные браузеры используют так много ОЗУ, и что можно сделать для оптимизации их работы.

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

  • Браузеры и оперативная память
  • Почему Chrome и Firefox используют так много оперативной памяти
  • Пустая ОЗУ — бесполезная оперативная память
  • Решения с медленным ПК
  • Вопросы и ответы
  • Комментарии

Браузеры и оперативная память

Жалобы на Chrome продолжаются уже несколько лет, суть их в том, что браузер использует много ОЗУ. С выходом Firefox Quantum, дискуссии разгораются с новой силой. Некоторые пользователи отмечают меньшее использование оперативной памяти, чем в Chrome, другие же утверждают, что оно идентично. Это играет большую роль в использовании браузера. Но как выяснилось использование памяти не является плохим показателем.

Перейти к просмотру

Как узнать сколько оперативной памяти установлено, сделать тест или освободить память ПК ��⚙️��

Перейти к просмотру

Как восстановить очищенную историю браузеров Chrome, Mozilla FireFox, Opera, Edge, Explorer ��⏳��

Конечно же многих шокирует что одна программа использует столько ОЗУ. Но все эти жалобы являются ошибкой. Все это результат того, что большинство пользователей привыкло как дела, обстояли до сегодняшних масштабов развития сети интернет. Это основано на непонимании работы памяти.

Почему Chrome и Firefox используют так много оперативной памяти

Диспетчер задач Google Chrome

Действительно, Chrome и Firefox используют очень много оперативной памяти. Запустив около 10 вкладок, не говоря о расширениях, можно увидеть, что программа использует довольно немало памяти. Но для этого есть все основания.

современные браузеры делают Интернет более быстрым, простым и надежным. Chrome и Firefox являются многопроцессорными, они разделяют части браузера на процессы. В случаи сбоя подключаемого модуля, браузер не завершит свою работу вместе с ним. Chrome также имеет функцию, предварительного просмотра, которая ускоряет загрузку веб-страниц, за счет ресурсов оперативной памяти.

Расширения добавляют еще больше возможностей в уже и так богатый функциональными возможностями браузер. Что в свою очередь, тоже влияет на использование ОЗУ. При потребности в функциях, которые они предлагают, придётся отказаться от ценных ресурсов.

Перейти к просмотру

Как изменить размер, удалить или переместить файл подкачки Windows 10, 8 и Windows 7 ��️����

Современные браузеры делают намного больше, чем это было раньше. В свое время сеть была всего лишь кучей статических HTML-страниц со страшным фоном и случайным анимированным GIF. Эти времена давно прошли. Теперь браузер используется для чтения электронной почты, управления календарем, просмотра видео, редактирования документов и даже игр. И это даже не говоря о различных уведомлениях, расширениях для отправки текстовых сообщений и автоматического заполнения паролей.

На сегодняшний день мы делаем в нашем браузере больше, чем когда-либо. И все это требует значительных ресурсов. Хотя кажется, что Firefox и Chrome занимают тонну ОЗУ, но объяснить это можно тем что сейчас много инструментов встроено в браузер которые раньше были разделены, и вместо того чтобы запускать несколько приложений, вы запускаете только свой браузер. Он по сути стал своего рода операционной системой. У Chrome даже есть собственный диспетчер задач, при нажатии сочетания клавиш Shift + esc, можно увидеть, сколько оперативной памяти использует каждая вкладка и расширение. У Firefox это выглядит иначе – необходимо набрать «about:memory» в адресной строке.

Пустая ОЗУ – бесполезная оперативная память

Диспетчер задач Windows / Производительность / Память

Многие кто видит в диспетчере какое количество оперативной памяти занято процессами, считают, что это замедлит работу компьютера. ОЗУ делает компьютер быстрее. Он использует ее в качестве кэша для хранения данных, которые могут потребоваться снова. Что позволит быстрее загрузить уже просматриваемую ранее веб-страницу. Если бы ОЗУ осталась пустой, многие вещи загружались бы намного медленней. Эти два браузера предназначены для использования большего количества оперативной памяти, чтобы сделать просмотр более быстрым и плавным. Но есть пользователи, которые устанавливают большое количество ненужных расширений что очень сильно влияет на использование памяти.

Решения с медленным ПК

Меню браузера

Как и все программы Chrome и Firefox не идеальны. Но разработчики постоянно работают над их улучшением.

Современная сеть более ресурсоемкая, чем раньше, благодаря всем преимуществам, которые она предлагает. Компьютерам соответственно необходимо идти в ногу со временем.

Поэтому, если на вашем компьютере недостаточно памяти для комфортного запуска всего необходимого, придётся либо чем-то жертвовать (закрывать программы, удалять расширения, использовать меньше вкладок за раз), или обновить ПК.

Совсем не весело тратить большую часть денег покупая 8 или 16 ГБ оперативной памяти. Это может показаться лишним, но с развитием технологий, не заметите как в скором времени потребуется еще больший ее объём. Браузеры чем-то похожи на игры, чем они новее, тем больше они требовательные. Особенно когда они становятся все более универсальными.

Конечно есть возможность использовать более старые их версии, менее требовательных, но тогда придётся отказаться от всех преимуществ, предоставляемых современными браузерами. Это как с ОС, можно пользоваться Windows 98, но я уверен, что вы используете более новую его версию, открывающую больше возможностей.

Устранение проблем с памятью

Узнайте, как использовать Microsoft Edge и Средства разработки для поиска проблем с памятью, влияющих на производительность страницы, включая утечки памяти, раздутие памяти и частые сборки мусора.

  • Узнайте, какой объем памяти используется вашей страницей в диспетчере задач браузера Microsoft Edge.
  • Визуализируйте использование памяти с течением времени с помощью средства «Память «.
  • Определите отсоединяемые деревья DOM (распространенная причина утечки памяти) с помощью snapshot Куча.
  • Узнайте, когда выделяется новая память в куче JavaScript (кучи JS) с помощью инструментирования выделения на временная шкала.

Обзор

В духе модели производительности RAIL основное внимание должно уделяться вашим пользователям.

Проблемы с памятью важны, так как они часто могут восприниматься пользователями. Пользователи могут воспринимать проблемы с памятью следующими способами:

  • Со временем производительность страницы постепенно ухудшается. Возможно, это является симптомом утечки памяти. Утечка памяти — это когда ошибка на странице приводит к тому, что страница постепенно использует все больше памяти с течением времени.
  • Производительность страницы постоянно плоха. Возможно, это симптом раздутого объема памяти. Раздутие памяти — это когда страница использует больше памяти, чем необходимо для оптимальной скорости страницы.
  • Производительность страницы задерживается или часто приостанавливается. Возможно, это симптом частой сборки мусора. Сборка мусора — это когда браузер освобождает память. Браузер решает, когда это произойдет. Во время коллекций все выполняемые скрипты приостанавливаются. Таким образом, если браузер собирает много мусора, среда выполнения скрипта будет приостановлена.

Раздутие памяти: сколько «слишком много»?

Утечку памяти легко определить. Если сайт постепенно использует все больше и больше памяти, значит, у вас есть утечка. Но раздутие памяти немного сложнее закрепить. Что квалифисируется как «использование слишком большого объема памяти»?

Здесь нет жестких чисел, так как разные устройства и браузеры имеют разные возможности. Та же страница, которая работает гладко на высококлассном смартфоне может разрезаться на низом смартфоне.

Здесь важно использовать модель RAIL и сосредоточиться на пользователях. Узнайте, какие устройства популярны среди пользователей, а затем протестируйте страницу на этих устройствах. Если взаимодействие постоянно плохое, страница может превысить возможности памяти этих устройств.

Мониторинг использования памяти в режиме реального времени с помощью диспетчера задач браузера Microsoft Edge

Используйте диспетчер задач браузера Microsoft Edge в качестве отправной точки для исследования проблем с памятью. Диспетчер задач браузера Microsoft Edge — это монитор в реальном времени, который сообщает, сколько памяти использует страница в данный момент.

  1. Нажмите клавиши SHIFT+ESC или перейдите в меню Microsoft Edge main и выберите Дополнительные инструменты>Диспетчер задач браузера, чтобы открыть диспетчер задач браузера Microsoft Edge. Открытие диспетчера задач браузера Microsoft Edge
  2. Щелкните правой кнопкой мыши заголовок таблицы диспетчера задач браузера Microsoft Edge и включите память JavaScript. Включение памяти JavaScript

Эти два столбца по-разному сообщают о том, как ваша страница использует память:

  • Столбец Память представляет собственную память. Узлы DOM хранятся в собственной памяти. Если это значение увеличивается, создаются узлы DOM.
  • Столбец Память JavaScript представляет кучу JS. Этот столбец содержит два значения. Интересующее вас значение — это живой номер (число в скобках). Динамическое число показывает, сколько памяти используют доступные объекты на странице. Если это число увеличивается, создаются новые объекты или растут существующие объекты.

Визуализация утечек памяти с помощью средства «Производительность»

Вы также можете использовать средство «Производительность » в качестве еще одной отправной точки в исследовании. Средство «Производительность » помогает визуализировать использование памяти страницы с течением времени.

  1. В средствах разработки откройте средство Производительность .
  2. Установите флажок Память .
  3. Сделать запись.

сборе мусора

Рекомендуется начинать и завершать запись принудительной сборкой мусора. Чтобы принудительная сборка мусора, нажмите кнопку сборки мусора при принудительном во время записи.

Чтобы продемонстрировать записи памяти, рассмотрите следующий код:

var x = []; function grow() < for (var i = 0; i < 10000; i++) < document.body.appendChild(document.createElement('div')); >x.push(new Array(1000000).join('x')); > document.getElementById('grow').addEventListener('click', grow); 

При каждом нажатии кнопки, на которую ссылается код, к тексту документа добавляется 10 000 div узлов, а в массив помещается x строка из 1000 000 x символов. При выполнении предыдущего примера кода в средстве производительности создается запись, как показано на следующем рисунке:

Простой рост

Во-первых, объяснение пользовательского интерфейса. Диаграмма HEAP в области Обзор (под NET) представляет кучу JS. Под панелью Обзор находится панель Счетчик . Использование памяти разбивается по куче JS (аналогично диаграмме HEAP в области обзор ), документам, узлам DOM, прослушивателям и памяти GPU. Снимите флажок, чтобы скрыть его от графа.

Теперь анализ кода сравнивается с предыдущим рисунком. Если вы просмотрите счетчик узла (зеленый график), он будет точно совпадать с кодом. Число узлов увеличивается в дискретных шагах. Можно предположить, что каждое увеличение числа узлов является вызовом grow() .

принудительной сборки мусора

Диаграмма кучи JS (синий граф) не так проста. В соответствии с рекомендациями первым падением на самом деле является принудительная сборка мусора (нажмите кнопку сборки мусора ).

По мере выполнения записи отображаются пики размера кучи JS. Это естественно и ожидаемо: код JavaScript создает узлы DOM при каждой нажатии кнопки и выполняет большую работу при создании строки из миллиона символов.

Ключевым моментом здесь является тот факт, что куча JS заканчивается выше, чем она началась («начало» здесь является точкой после принудительной сборки мусора). В реальном мире, если вы видите эту схему увеличения размера кучи JS или размера узла, это может указывать на утечку памяти.

Обнаружение отсоединяемых утечек памяти дерева DOM с помощью моментальных снимков кучи

Memory tool > Help-mode tooltip to this section; would default to top of article instead of this section anchor —>

Узел DOM собирается только при отсутствии ссылок на узел из дерева DOM или кода JavaScript, выполняемого на странице. При удалении из дерева DOM узел считается «отсоединяется», но некоторые javaScript по-прежнему ссылаются на него. Отсоединяемые узлы DOM являются распространенной причиной утечек памяти.

В этом разделе описано, как использовать профилировщики кучи в средствах разработки для идентификации отсоединяемых узлов.

Ниже приведен простой пример отсоединяемых узлов DOM:

var detachedTree; function create() < var ul = document.createElement('ul'); for (var i = 0; i < 10; i++) < var li = document.createElement('li'); ul.appendChild(li); >detachedTree = ul; > document.getElementById('create').addEventListener('click', create); 

При нажатии кнопки, указанной в коде, создается узел с десятью ul li дочерними элементами. На узлы ссылается код, но они не существуют в дереве DOM, поэтому каждый узел отсоединяется.

Моментальные снимки кучи — это один из способов идентификации отсоединяемых узлов. Как следует из названия, моментальные снимки кучи показывают, как память распределяется между объектами JS и узлами DOM для страницы в момент snapshot.

Чтобы создать snapshot, выполните приведенные далее действия.

  1. Откройте DevTools и перейдите к средству «Память «.
  2. Нажмите переключатель Куча snapshot, а затем нажмите кнопку Принять snapshot в нижней части средства. Получение кучи snapshotОбработка и загрузка snapshot может занять некоторое время.
  3. После завершения snapshot выберите его на панели слева (он называется HEAP SNAPSHOTS).
  4. В текстовом поле Фильтр классов введите Detached , чтобы найти отсоединяемые деревья DOM: Фильтрация по отсоединяющимся узлам
  5. Разверните караты, чтобы исследовать отдельное дерево: Исследование отсоединяемого дерева
  6. Щелкните узел, чтобы исследовать его дальше. В области Объекты можно просмотреть дополнительные сведения о коде, который ссылается на узел. Например, на следующем рисунке detachedTree переменная ссылается на узел.
  7. Чтобы устранить конкретную утечку памяти, изучите код, использующий detachedTree переменную, и убедитесь, что ссылка на узел удаляется, когда она больше не нужна.

Исследование узла

Выявление утечек памяти кучи JS с помощью инструментирования выделения на временная шкала

Инструментирование выделения на временная шкала — это еще одно средство, которое может помочь вам отслеживать утечки памяти в куче JS.

Продемонстрировать инструментирование выделения на временная шкала с помощью следующего кода:

var x = []; function grow() < x.push(new Array(1000000).join('x')); >document.getElementById('grow').addEventListener('click', grow); 

При каждом нажатии кнопки, на которую ссылается код, в массив добавляется x строка из миллиона символов.

Чтобы записать инструментирование выделения на временная шкала:

  1. Откройте DevTools и выберите средство «Память «.
  2. Щелкните переключатель Инструментирование выделения на временная шкала, а затем нажмите кнопку Пуск.
  3. Выполните действие, которое, как вы подозреваете, вызывает утечку памяти.
  4. По завершении нажмите кнопку Остановить запись кучи, чтобы остановить запись.
  5. При записи обратите внимание, отображаются ли синие полосы на инструментировании выделения на временная шкала, как показано на следующем рисунке: Новые выделенияЭти синие полосы представляют собой новые выделения памяти. Эти новые выделения памяти являются вашими кандидатами на утечку памяти.
  6. Увеличьте масштаб панели, чтобы отфильтровать область конструктора , чтобы отобразить только объекты, выделенные в течение указанного периода времени. Масштаб распределения временная шкала
  7. Разверните объект и выберите значение, чтобы просмотреть дополнительные сведения в области Объект . Например, на следующем рисунке в сведениях о новом выделенном объекте указывается, что он был выделен переменной x Window в область:

Сведения об объекте

Исследование выделения памяти по функциям

Используйте тип профилирования выборки выделения для просмотра выделения памяти с помощью функции JavaScript.

Выборка выделения записей

  1. Нажмите переключатель Выборка выделения .
  2. Если на странице есть рабочая роль, ее можно выбрать в качестве целевого объекта профилирования с помощью раскрывающегося меню рядом с кнопкой Пуск .
  3. Нажмите кнопку Пуск .
  4. На веб-странице выполните действия, которые нужно исследовать.
  5. Нажмите кнопку Остановить , когда все действия будут завершены.

DevTools показывает разбивку распределения памяти по функциям. По умолчанию используется представление Heavy (Bottom Up), в котором отображаются функции, которые выделяют большую часть памяти в верхней части.

Выборка выделения

Уменьшение мусора с помощью дополнительных параметров для выборки выделения

По умолчанию тип профилирования выборки выделения сообщает только о выделениях, которые по-прежнему активны в конце сеанса записи. Объекты, которые создаются, удаляются, а затем собираются мусором (GC’d), не отображаются в средстве «Память» при профилировании с помощью выборки выделения или инструментирования выделения для типов временная шкала.

Вы можете доверять браузеру для очистки мусора из кода. Однако важно учитывать, что GC сама по себе является дорогостоящей операцией, и несколько GCs могут замедлить взаимодействие пользователя с вашим веб-сайтом или приложением. При записи в инструменте Производительность с включенным флажком Память можно увидеть, как операция сборки мусора выполняется на крутых скалах (внезапное уменьшение) в диаграмме кучи.

Операция сборки мусора, показанная в средстве

Уменьшая объем мусора, создаваемого кодом, вы можете снизить затраты на каждую отдельную сборку мусора и количество операций сборки мусора. Чтобы отслеживать объекты, отбрасываемые GC, настройте тип профилирования выборки выделения с параметрами.

Параметры сборки выборки выделения

  1. Нажмите кнопку Выборка выделения .
  2. Выберите параметры Включить объекты, отброшенные основными сборками мусора , и Включить объекты, отброшенные дополнительными объектами сборки мусора .
  3. Нажмите кнопку Пуск .
  4. На веб-странице выполните действия, которые нужно исследовать.
  5. Нажмите кнопку Остановить , когда все действия будут завершены.

DevTools теперь отслеживает все объекты, которые были GC во время записи. Используйте эти параметры, чтобы понять, сколько мусора генерируется веб-сайтом или приложением. Данные, передаваемые выборкой выделения , помогут определить функции, которые создают больше всего мусора.

Если вы исследуете объекты, которые были только GC во время определенных крупных или незначительных операций сборки мусора, настройте параметры соответствующим образом, чтобы отслеживать нужную операцию. Дополнительные сведения о различиях между основными и дополнительными сборками мусора см. в статье Мусорное обсуждение: сборщик мусора Orinoco | Блог разработчика обработчика JavaScript версии 8.

Обнаружить частые сборки мусора

Если страница часто приостанавливается, могут возникнуть проблемы со сборкой мусора.

Для обнаружения частой сборки мусора можно использовать либо диспетчер задач браузера Microsoft Edge, либо записи памяти производительности.

  • В диспетчере задач браузера Microsoft Edge часто растущие и выпадающие значения памяти или памяти JavaScript представляют собой частую сборку мусора.
  • В записях производительности частые изменения (рост и падение) в диаграммах кучи JS или числа узлов указывают на частую сборку мусора.

Определив проблему, можно использовать инструментирование выделения для записи временная шкала, чтобы узнать, где выделяется память и какие функции вызывают выделение.

Некоторые части этой страницы представляют собой измененные материалы, созданные и предоставленные корпорацией Google. Их использование регулируется условиями, описанными в лицензии Creative Commons Attribution 4.0 International License. Исходная страница находится здесь и автор Kayce Basques (Технический писатель, Chrome DevTools & Lighthouse).

Эта работа лицензируется по международной лицензии Creative Commons Attribution 4.0.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *