Вопрос или проблема
Как обычно, 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 ТиБ. В данной статье мы рассмотрим причины этой проблемы и предложим решения, которые помогут оптимизировать использование памяти браузером.
Причины избыточного использования памяти
-
Многочисленные вкладки: Как вы правильно отметили, открытие 100 вкладок создаёт дополнительное потребление ресурсов. Даже если каждая вкладка использует в среднем 100 МБ, общая нагрузка должна быть около 10 ГБ, а не 1.2 ТиБ.
-
Расширения и плагины: Несколько установленных расширений могут значительно усугублять проблему, особенно те, которые работают в фоновом режиме.
-
Утечки памяти в JavaScript: Некоторые веб-приложения и сайты могут содержать ошибки в коде, которые приводят к утечкам памяти. Это может быть связано с неэффективным использованием памяти в JavaScript.
-
Проблемы с кэшированием: Иногда данные кэша, используемые браузером, могут накапливаться и вызывать переполнение памяти.
Решения проблемы
-
Сокращение числа открытых вкладок:
- Храните необходимое количество вкладок, а остальные сохраняйте в закладках или используйте специальные расширения для управления вкладками, такие как OneTab или Tab Manager.
-
Удаление или отключение расширений:
- Проверьте, какие расширения установлены в вашем браузере. Отключите или удалите те, которые вы не используете часто. Это освободит ресурсы и снизит потребление памяти.
-
Мониторинг процессов Chrome:
- Вкладка
chrome://inspect
и встроенный диспетчер задач (Shift + Esc
) позволят вам увидеть, сколько памяти использует каждая отдельная вкладка и процесс. Убедитесь, что ни одно из приложений не использует чрезмерное количество памяти.
- Вкладка
-
Проверка на наличие утечек памяти:
- Попробуйте открыть Chrome в режиме инкогнито. Если при этом поведение браузера улучшилось, это может указывать на проблемы в одном из ваших установленных расширений или в кэше.
-
Настройка параметров системы:
- Рассмотрите возможность увеличения объема своп-файла. 4 ГБ свопа может оказаться недостаточным при активном использовании множества вкладок. Добавление дополнительного свопа может помочь избежать критических ошибок.
-
Обновление Google Chrome:
- Убедитесь, что вы используете последнюю версию Google Chrome. Разработчики часто обновляют браузер для исправления ошибок и оптимизации использования ресурсов.
-
Удаление кэша и данных:
- Регулярно очищайте кэш и хранилище данных, что может снизить нагрузку на память. Это можно сделать через
Настройки
->Конфиденциальность и безопасность
->Очистить данные просмотра
.
- Регулярно очищайте кэш и хранилище данных, что может снизить нагрузку на память. Это можно сделать через
-
Избегание конфликтующих программ:
- Убедитесь, что на вашем компьютере нет других программ, которые могут конфликтовать с Chrome и вызывать дополнительное потребление памяти.
Заключение
Проблема чрезмерного выделения виртуальной памяти в Google Chrome не является уникальной, и её решение потребует от вас использования нескольких подходов. Сочетание управления вкладками, оптимизации расширений, обновления программного обеспечения и мониторинга использования ресурсов позволит вам значительно улучшить производительность браузера. Настоятельно рекомендуем внедрять предложенные практики для обеспечения более стабильной работы вашей системы и повышения общей производительности работы с браузером.