Кеш firefox в linux

Перенос кэша Firefox в оперативную память в GNU/Linux

Захотелось мне еще немного ускорить Firefox после сборки стабильной версии. Самый простой и очевидный способ — переместить кэш браузера с жесткого диска в оперативную память. Плюс такого решения очевиден:

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

На мой взгляд более-менее нормальная реализация — использование системы инициализации системы (systemd или SysVinit). При старте системы оно бы копировало кэш с жесткого диска в оперативную память, а при выключении компьютера — в обратном порядке.

Однако это усложняет демонстрацию принципа работы. При желании это можно сделать самостоятельно, в моём же примере главное — изложить суть понятно, и в первую очередь для себя из будущего =)

Подготовка и кратко о tmpfs

Tmpfs — файловая система,которая размещается в оперативной памяти. Её то и будем использовать. Для этого в файл /etc/fstab добавим примерно такую строчку:
tmpfs /home/ozi/.cache/mozilla tmpfs noauto,user,size=400M 0 0 Где

  • /home/ozi — домашняя папка пользователя, для которого будет переноситься кэш
  • .cache/mozilla — директория, где Firefox хранит свои временные файлы
  • noauto — монтировать файловую систему можно только вручную
  • user — смонтировать файловую систему может пользователь
  • size=400M — размер в мегабайтах

Настройка размера кэша в Firefox

Стоит отметить, что размер должен быть чуть больше, чем установленные для кэша Firefox в его настройках:

Скрипт запуска Firefox с копированием кэша в оперативную память

Необходимо создать файл с именем, к примеру, firefox_tmpfs.sh следующего содержания:
#!/bin/bash #папка с кэшем программ в домашней директории cache_dir=/home/ozi/.cache/ #папка с кэшем Firefox mozilla_dir=$cache_dir/mozilla #директория, предназначенная для хранения кеша, когда Firefox не работает mozilla_backup_dir=$cache_dir/mozilla_b #файл, необходимый для блокировки запуска в случае непредвиденной ситуации lock_file=$cache_dir/firefox_lock if [ -f $lock_file ]; then echo «Существует $lock_file, Firefox запущен или был некорректно завершен» echo «Для избежание потери данныех требуется ручное вмешательство» exit 1 fi echo «Монтируем ФС в памяти» touch $lock_file rm -rf $mozilla_dir/* mount $mozilla_dir echo «Копируем кэш Firefox с жесткого диска в память» cp -r $mozilla_backup_dir/* $mozilla_dir/ echo «Запускаем Firefox» firefox echo «Копируем кэш Firefox из памяти на жесткий диск после окончания работы» rm -rf $mozilla_backup_dir/* cp -r $mozilla_dir/* $mozilla_backup_dir/ echo «Отключаем tmpfs» umount $mozilla_dir rm $lock_file echo «Готово»

Читайте также:  Livecd do linux ubuntu

И дать ему права на исполнение:
$ chmode +x firefox_tmpfs.sh
Осталось переместить актуальный кэш в папку его хранения и создать точку монтирования tmpfs:
$ mv ~/.cache/mozilla ~/.cache/mozilla_b $ mkdir ~/.cache/mozilla
Готово, теперь Firefox запускать нужно через эту обёртку (и только через неё):
./firefox_tmpfs.sh

Источник

Firefox (Русский)/Profile on RAM (Русский)

Состояние перевода: На этой странице представлен перевод статьи Firefox/Profile on RAM. Дата последней синхронизации: 30 ноября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

  • уменьшение дисковых операций чтения/записи;
  • повышенная отзывчивость;
  • многие операции в Firefox, такие как быстрый поиск и история запросов, происходят почти мгновенно.

Для этого мы можем использовать tmpfs.

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

Примечание: Кэш хранится отдельно от профиля Firefox, находящегося по умолчанию в ( /home/$USER/.mozilla/firefox/ ): кэш находится по умолчанию в /home/$USER/.cache/mozilla/firefox/ . Это также относится и к Chromium и к другим браузерам. Поэтому разделы #Размещение профиля в оперативной памяти с помощью инструментов и #Размещение профиля в оперативной памяти вручную не имеют дело с перемещением кэша и синхронизацией, только с настройками профиля. Смотрите статью Profile-sync-daemon (Русский) для более подробной информации. Anything-sync-daemon может быть использован также как 2 Вариант для каталогов кэша.

Размещение кэша только в оперативной памяти

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

  • откройте в адреснойстроке about:config
  • установите browser.cache.disk.enable на «false» (двойным щелчком по строке)
  • проверьте что значение browser.cache.memory.enable установлено в «true» (значение по умолчанию)
  • добавьте запись (щелчёк правой кнопкой мышки->Создать->Целое) browser.cache.memory.capacity и установите размер в KB который вы хотите запасти, или в -1 для автоматического определения размера кэша. (Пропуск этого шага имеет тот же эффект, что и установка в значение -1.)
Читайте также:  Start listener on linux

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

Избежание первого недостатка заключается в том, чтобы использовать anything-sync-daemon или аналогичный периодический скрипт синхронизации, так что кэш будет копироваться на диск регулярно.

Размещение профиля в оперативной памяти с помощью инструментов

Перенесите профиль браузера в tmpfs для глобального улучшения отклика браузера. Ещё одним преимуществом является снижение числа операций ввода-вывода, из которых накопители SSD извлекут максимум выгоды.

Используйте активные скрипты управления для максимальной надёжности и простоты использования. Некоторые доступны в AUR.

  • profile-sync-daemon — для получения дополнительной информации обратитесь к статье wiki Profile-sync-daemon;
  • firefox-syncAUR — достаточно для пользователя с одним профилем; использует скрипт и службу systemd, аналогичные приведённым ниже.

Размещение профиля в оперативной памяти вручную

Прежде чем начать

Сделайте резервную копию для быстрого восстановления на случай проблем. Замените xyz.default на название вашего профиля и используйте tar для создания резервной копии:

$ tar zcvfp ~/firefox_profile_backup.tar.gz ~/.mozilla/firefox/xyz.default 

Скрипт

Скрипт сначала переместит профиль Firefox на новое статическое место, создаст подкаталог в /dev/shm , и мягкую ссылку, а затем заполнит его содержимым профиля. Замените выделенную секцию. Единственное значение которое необходимо изменить, опять же xyz.default .

Убедитесь, что установлен rsync, и создайте файл:

#!/bin/sh static=static-$1 link=$1 volatile=/dev/shm/firefox-$1-$USER IFS= set -efu cd ~/.mozilla/firefox if [ ! -r $volatile ]; then mkdir -m0700 $volatile fi if [ "$(readlink $link)" != "$volatile" ]; then mv $link $static ln -s $volatile $link fi if [ -e $link/.unpacked ]; then rsync -av --delete --exclude .unpacked ./$link/ ./$static/ else rsync -av ./$static/ ./$link/ touch $link/.unpacked fi

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

$ killall firefox firefox-bin $ ls ~/.mozilla/firefox/ $ ~/.local/bin/firefox-sync.sh xyz.default 

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

Читайте также:  How to install forge linux

Автоматизация

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

systemd

~/.config/systemd/user/firefox-profile@.service
[Unit] Description=Firefox profile memory cache [Install] WantedBy=default.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=%h/.local/bin/firefox-sync.sh %i ExecStop=%h/.local/bin/firefox-sync.sh %i

Затем выполните daemon-reload для пользовательского экземпляра systemd и запустите/включите пользовательскую службу firefox-profile@xyz.default.service .

Задание cron

Действуйте пользовательским cron используя таблицу crontab :

Добавьте строку, чтобы запускать сценарий каждые 30 минут,

*/30 * * * * ~/.local/bin/firefox-sync.sh xyz.default 

или добавьте следующую, чтоб выполнять каждые 2 часа:

0 */2 * * * ~/.local/bin/firefox-sync.sh xyz.default 

Синхронизация при входе/выходе

Используя bash, добавьте скрипты в файлы входа/выхода:

$ echo 'bash -c "~/.local/bin/firefox-sync.sh xyz.default > /dev/null &"' | tee -a ~/.bash_logout ~/.bash_login

Примечание: Вы можете использовать ~/.bash_profile вместо ~/.bash_login т.к. bash будет читать только первый из них, если они оба существуют и могут быть прочитаны.

Для zsh используйте ~/.zlogin и ~/.zlogout :

$ echo ‘bash -c «~/.local/bin/firefox-sync.sh xyz.default > /dev/null &»‘ | tee -a ~/.zlog

Смотрите также

Источник

Where is the Mozilla Firefox cache located?

I have got Mozilla Firefox installed, and am aware of the issues with nasty things like phishing scripts from images ending up in my browser’s cache. And so that I don’t have to just empty my cache all the time, I would like to know of its location in my computer. I have noticed that there appears to be some sort of area for caching here:

~/.cache/mozilla/firefox/k29gs42c.default 

So which one of these is it? Or is there a different area for caching? Or different caches? For greater efficiency when scanning the caching areas, I would prefer to know exactly which top level directory only contains caching areas, so that I do not scan anything which is non-cache related. Expanding of question: I have looked at the questions which are possible duplicates of this in the comments, but then I also ask, what are these other locations with cache in their names then located in ~/.cache/mozilla/firefox/k29gs42c.default ?:

Cache cache2 OfflineCache startupCache 

What are these if not some sorts of caches? And if they are so, should I not also scan them? Or are their purposes different and thus would not possibly contain any contents from websites?

OS Information:

Description: Ubuntu 15.04 Release: 15.04 

Package Information:

firefox: Installed: 37.0.2+build1-0ubuntu0.15.04.1 Candidate: 37.0.2+build1-0ubuntu0.15.04.1 Version table: *** 37.0.2+build1-0ubuntu0.15.04.1 0 500 http://gb.archive.ubuntu.com/ubuntu/ vivid-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu/ vivid-security/main amd64 Packages 100 /var/lib/dpkg/status 37.0+build2-0ubuntu1 0 500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages 

Источник

Оцените статью
Adblock
detector