Расширение для Firefox, которое максимально снижает потребление оперативной памяти: автоматически выгружает неактивные вкладки, ограничивает число одновременно загруженных вкладок, отключает предзагрузку и лишние фоновые функции. Ничего не собирает и никуда не отправляет.
🇬🇧 English summary below.
Выгруженная вкладка остаётся в панели вкладок, но страница удаляется из памяти. При клике она загружается снова.
- Автовыгрузка по времени. Вкладки, которые не открывались N минут (по умолчанию 20), выгружаются.
- Лимит загруженных вкладок. Одновременно в памяти держится не больше N вкладок (по умолчанию 12). При превышении первыми выгружаются давно неиспользуемые.
- Свёрнутые окна. Вкладки в свёрнутых окнах выгружаются.
- Выгрузка при запуске. Можно выгружать все фоновые вкладки при старте браузера (по умолчанию выключено).
- Ручные действия через popup, контекстное меню вкладки и горячие клавиши:
- выгрузить текущую вкладку;
- выгрузить остальные вкладки окна;
- выгрузить вкладки во всех окнах или в других окнах.
Никогда не выгружаются:
- активная вкладка;
- закреплённые вкладки (настраивается);
- вкладки, которые воспроизводят звук (настраивается);
- вкладки, использующие камеру, микрофон или демонстрацию экрана (настраивается);
- сайты из белого списка (поддомены тоже);
- вкладки, защищённые вручную из popup (до перезапуска браузера);
- служебные страницы (
about:,moz-extension:и т. п.).
- Закрыть дубликаты — закрывает вкладки с одинаковым адресом и оставляет активную или последнюю использованную.
- Очистить кэш — сбрасывает кэш браузера.
- Отключение предсказания сети и предзагрузки (DNS-prefetch, link prefetch, speculative connections) — через API
privacy. - GIF-анимации проигрываются один раз — через API
browserSettings. - Отключение аудита ссылок (
<a ping>). - Счётчик на значке — показывает, сколько вкладок сейчас выгружено. В popup также видна примерная экономия памяти.
Все браузерные настройки, которые меняет расширение, возвращаются к значениям по умолчанию, если отключить соответствующую опцию или удалить расширение.
| Действие | Клавиши |
|---|---|
| Открыть popup | Alt+Shift+M |
| Выгрузить текущую вкладку | Alt+Shift+D |
| Выгрузить остальные вкладки окна | Alt+Shift+O |
| Выгрузить фоновые вкладки во всех окнах | не назначено |
Клавиши меняются здесь: about:addons → ⚙ → «Управление горячими клавишами расширений».
- Скачайте репозиторий (
git cloneили Code → Download ZIP). - Откройте
about:debugging#/runtime/this-firefox. - Нажмите «Загрузить временное дополнение…» и выберите
src/manifest.json.
Временное дополнение удаляется после перезапуска Firefox.
Обычный Firefox устанавливает только подписанные расширения. Варианты:
- Подписать через AMO (бесплатно, можно как unlisted):
Затем установите полученный
npx web-ext sign --source-dir src --channel unlisted --api-key=... --api-secret=...
.xpi. - Firefox Developer Edition / Nightly / ESR: в
about:configустановитеxpinstall.signatures.required = false, соберите пакет командой./build.shи откройтеdist/ram-optimizer-1.0.0.xpiв Firefox.
Минимальная версия — Firefox 115.
Часть самых полезных для памяти настроек расширениям менять запрещено. Их собрал файл user.js:
- встроенная выгрузка вкладок при нехватке памяти и её пороги;
- загрузка вкладок по требованию при восстановлении сессии;
- отключение bfcache (страницы «Назад/Вперёд» не хранятся в памяти);
- ограничение кэша в памяти;
- отключение prefetch, predictor и speculative connect;
- отключение Pocket, рекламы на новой вкладке, локального ИИ, телеметрии и исследований;
- в закомментированном блоке [AGGRESSIVE] — уменьшение числа процессов контента и другие сильные, но небезопасные или неудобные настройки. Прочитайте комментарии перед тем, как их включать.
Как применить:
- Откройте
about:support→ «Папка профиля» → «Открыть папку». - Скопируйте туда
user.js. - Перезапустите Firefox.
Как откатить: удалите user.js из профиля и сбросьте изменённые параметры в about:config.
Посмотреть реальное потребление памяти можно в about:processes и about:memory (там же есть кнопка «Minimize memory usage»).
src/
├── manifest.json # манифест (Manifest V3)
├── common.js # настройки по умолчанию и общие функции
├── background.js # логика выгрузки, меню, горячие клавиши, твики браузера
├── popup/ # окно по клику на значок
├── options/ # страница настроек
├── icons/icon.svg
└── _locales/{en,ru}/ # локализация
user.js # about:config-оптимизации для профиля
build.sh # сборка .xpi в dist/
| Разрешение | Зачем |
|---|---|
tabs |
читать адрес и состояние вкладок, выгружать их |
alarms |
раз в минуту проверять неактивные вкладки |
storage |
хранить настройки и статистику (только локально) |
menus |
пункты в контекстном меню вкладки |
browsingData |
кнопка «Очистить кэш» |
privacy, browserSettings |
отключение предзагрузки, аудита ссылок, повторов GIF |
Расширение не обращается к сети и не встраивает скрипты в страницы.
npx web-ext lint --source-dir src # проверка
npx web-ext run --source-dir src # запуск Firefox с расширением
./build.sh # сборка dist/*.xpiRAM Optimizer cuts Firefox memory usage:
- auto-unloads (discards) tabs that have been inactive for N minutes;
- keeps at most N tabs loaded, unloading the least recently used ones first;
- unloads tabs in minimized windows, and optionally at startup;
- protects the active tab, pinned and audible tabs, tabs using camera, mic or screen sharing, whitelisted domains and manually protected tabs;
- popup with stats and one-click actions (unload, close duplicates, clear cache), tab context menu and keyboard shortcuts;
- disables network prediction and prefetching,
<a ping>auditing, and repeated GIF animations.
user.js adds profile-level tweaks that extensions can't change. To load the extension temporarily, open about:debugging → Load Temporary Add-on → src/manifest.json. The extension needs Firefox 115 or later and is released under the MIT license.