Как справиться с большой аллокацией ОЗУ виртуальной машины в Google Chrome?

Вопрос или проблема

Как обычно, Google Chrome (или какой-то JS-код на одной из вкладок) пытается выделить исключительное количество виртуальной памяти. Google Chrome аварийно завершил работу. Вот соответствующая запись в dmesg (выделение моё):

24 окт 09:03:48 computer-name kernel: Не хватает памяти: Убиты процесс 556894 (chrome) 
total-vm:*1222346624kB*, anon-rss:955988kB, file-rss:688kB, shmem-rss:39316kB, 
UID:1000 pgtables:4092kB oom_score_adj:300

1222346624 kB – это около 1.2 TiB! Я согласен, что открыто много вкладок Google Chrome (около 100, согласен, это слишком много, я это исправлю, но это отдельная проблема). Небрежный взгляд показывает, что если вкладка использует в среднем 100 MiB VM и даже если у меня открыто 100 вкладок, это не должно превышать 10 GiB.

Кроме ограничения числа открытых вкладок Chrome, есть ли что-то еще, что я могу сделать?

Некоторые системные данные:

  • Ноутбук Acer с Ubuntu 24.04
  • Intel(R) Core(TM) i7-1355U 13-го поколения (12 ядер), 16 ГБ SDRAM
  • 4 ГБ Swap пространство

Ответ или решение

Как справиться с чрезмерным выделением виртуальной памяти Google Chrome

Введение
Ситуация, с которой вы столкнулись, весьма распространена среди пользователей Google Chrome, особенно при наличии большого количества открытых вкладок. Ваша система выдаёт сообщение о нехватке памяти с критической цифрой выделенной виртуальной памяти — 1.2 ТиБ. В данной статье мы рассмотрим причины этой проблемы и предложим решения, которые помогут оптимизировать использование памяти браузером.

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

  1. Многочисленные вкладки: Как вы правильно отметили, открытие 100 вкладок создаёт дополнительное потребление ресурсов. Даже если каждая вкладка использует в среднем 100 МБ, общая нагрузка должна быть около 10 ГБ, а не 1.2 ТиБ.

  2. Расширения и плагины: Несколько установленных расширений могут значительно усугублять проблему, особенно те, которые работают в фоновом режиме.

  3. Утечки памяти в JavaScript: Некоторые веб-приложения и сайты могут содержать ошибки в коде, которые приводят к утечкам памяти. Это может быть связано с неэффективным использованием памяти в JavaScript.

  4. Проблемы с кэшированием: Иногда данные кэша, используемые браузером, могут накапливаться и вызывать переполнение памяти.

Решения проблемы

  1. Сокращение числа открытых вкладок:

    • Храните необходимое количество вкладок, а остальные сохраняйте в закладках или используйте специальные расширения для управления вкладками, такие как OneTab или Tab Manager.
  2. Удаление или отключение расширений:

    • Проверьте, какие расширения установлены в вашем браузере. Отключите или удалите те, которые вы не используете часто. Это освободит ресурсы и снизит потребление памяти.
  3. Мониторинг процессов Chrome:

    • Вкладка chrome://inspect и встроенный диспетчер задач (Shift + Esc) позволят вам увидеть, сколько памяти использует каждая отдельная вкладка и процесс. Убедитесь, что ни одно из приложений не использует чрезмерное количество памяти.
  4. Проверка на наличие утечек памяти:

    • Попробуйте открыть Chrome в режиме инкогнито. Если при этом поведение браузера улучшилось, это может указывать на проблемы в одном из ваших установленных расширений или в кэше.
  5. Настройка параметров системы:

    • Рассмотрите возможность увеличения объема своп-файла. 4 ГБ свопа может оказаться недостаточным при активном использовании множества вкладок. Добавление дополнительного свопа может помочь избежать критических ошибок.
  6. Обновление Google Chrome:

    • Убедитесь, что вы используете последнюю версию Google Chrome. Разработчики часто обновляют браузер для исправления ошибок и оптимизации использования ресурсов.
  7. Удаление кэша и данных:

    • Регулярно очищайте кэш и хранилище данных, что может снизить нагрузку на память. Это можно сделать через Настройки -> Конфиденциальность и безопасность -> Очистить данные просмотра.
  8. Избегание конфликтующих программ:

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

Заключение

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

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

Капча загружается...