# Firefox on RAM (Русский)

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

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

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

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

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

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

## Переместить только кэш в Оперативную память

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

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

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

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

## Утилиты для размещения профиля в RAM

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

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

- profile-sync-daemonAUR - для получения дополнительной информации обратитесь к статье wiki Profile-sync-daemon;
- firefox-syncAUR

## Поместите профиль в RAM вручную

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

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

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

### Скрипт

Адаптирован из verot.net Ускорение Firefox с помощью tmpfs

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

Убедитесь, что установлен rsync и сохраните скрипт в `~/bin/firefox-sync`, например:

    firefox-sync

    #!/bin/sh

    static=main
    link=xyz.default
    volatile=/dev/shm/firefox-$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
    $ chmod +x ~/bin/firefox-sync
    $ ~/bin/firefox-sync

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

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

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

#### Задание cron

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

    $ crontab -e

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

    */30 * * * * ~/bin/firefox-sync

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

    0 */2 * * * ~/bin/firefox-sync

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

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

    $ echo '~/bin/firefox-sync' | tee -a ~/.bash_logout ~/.bash_login >/dev/null

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

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

- tmpfs (Русский)

Categories:

- Русский
- Web browser (Русский)