Ускорение Chromium в Linux

Ни для кого не секрет что операции записи и чтения из оперативной памяти работают в несколько раз быстрее чем с жесткого диска. Недавно я заметил что популярный браузер от Google, активно пишет файлы в директории .cache и .config во время работы. А что если перенести эти каталоги в оперативную память и сохранять данные на диск только при выключении компьютера…

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

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

Ускорение Chromium вручную

Сначала подготовим устройство zram, допустим будем использовать zram0. Нам нужна будет файловая система ext4.

mkfs  -t ext4 /dev/zram0

Создаем папку для подключения виртуального устройства:

mkdir ~/.tmp

Подключаем:

sudo mount /dev/zram0 ~/tmp

Это все нужно будет приспособить к вашему способу запуска zram. Например автомонтирование можно выполнить через fstab:

/dev/zram0 /home/user/tmp ext4 defaults 0 0

продолжаем настройку, создадим папки для cache и config:

mkdir ~/.tmp{.cache, .config}

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

ln -s ~/.config/chromium ~/.tmp/config
$ ln -s ~/.cache/chromium ~/.tmp/cache

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

/bin/bash

cd /home/user/.tmp

rm -Rf ~/.tmp/*

tar cpf ~/.ramdisk.tar

И для сохранения состояния:

/bin/bash

cd /home/user/.tmp

rm  ~/.ramdisk.tar

tar xf ~/.ramdisk.tar

Скрипты нужно запускать при запуске и завершении работы, для этого можно написать systemd юнит, добавить файлы в /etc/local.d или настроить запуск с помощью скриптов rc.local, rc.local_shutdown в зависимости от системы инициализации.

Настройка Profile-sync-daemon

А это второй способ, намного проще первого, все делается автоматически, нужно только установить и немного сконфигурировать. Программа поддерживает не только Chromium, можно работать и с другими браузерами — firefox, opera и т д. Принцип тот же что и в первом способе — файлы находятся в оперативной памяти и периодически синхронизируются с жестким диском.

Пакета profile-sync-daemon уже нет в официальных репозиториях Ubuntu, но его можно установить из PPA:

sudo add-apt-repository ppa:graysky/utils

sudo apt-get update

 $ sudo apt-get install profile-sync-daemon

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

Теперь настройка. Откройте файл /etc/psd.conf.

nano /etc/psd.conf

В переменной USERS укажите имя своего пользователя:

USERS="user"

В переменную BROWSERS запишите свой браузер, поддерживаемые значения:

  • сhromium
  • chromium-dev
  • conkeror.mozdev.org
  • firefox
  • firefox-trunk
  • google-chrome
  • google-chrome-beta
  • google-chrome-unstable
  • heftig-aurora
  • luakit
  • midori
  • opera
  • opera-next
  • qupzilla
  • rekonq
  • seamonkey

BROWSERS="chromium"

Вот и все, осталось запустить. В OpenRC, Init Scripts используйте:

sudo /etc/init.d/psd start

А для systemd команда будет выглядеть так:

sudo systemctl start psd

Теперь браузер будет работать быстрее не нагружая диск. Еще несколько слов о сжатии. По умолчанию Profile-sync-daemon использует каталог tmp для записи данных, но никто же не мешает нам примонтировать диск zram в tmp, или даже прямо в рабочую папку psd. В следующих статьях я собираюсь рассказать о переносе еще нескольких тяжелых программ в оперативную память, а на сегодня все.

Источник

Понравилась статья? Поделиться с друзьями: