Опишу простой способ переноса кеша, настроек и прочих локальных данных Google Chrome на RAM-диск в Linux. Это ускорит скорость работы браузера и исключит насилие над диском (что особенно критично, если у вас SSD).
Статья не содержит ничего интересного для более-менее продвинутых пользователей Unix-like систем. Совсем ничего.
Linux предоставляет нам все средства для того, чтобы наша задача решалась за 10 минут, в лоб и правильно, как бы мы ни старались сделать всё через жопу. Я буду намеренно писать подробно.
Никаких сторонних приложений не требуется. Linux поддерживает RAM-диски на уровне ядра. Эта штука называется tmpfs. Всё, что нам нужно, так это смонтировать tmpfs в любой удобное нам место. Создадим каталог
заменив
Никаких махинаций с настройками и ключами хрома делать не надо. Все юниксовые файловые системы поддерживают символические ссылки. Поэтому тупо перенаправим
Мы опять не будет играться с ключами, а используем политики. Для этого создадим файл
где циферки — это размеры общего кеша и медиа-кеша соответственно. Можете менять на свой вкус, но следя, чтобы размер
Как только вы нажали кнопочку «power off», все данные из оперативки улетели в рай для битов. Мы же не хотим начинать каждый день с нового листа — нам нужно сохранять RAM-диск на жёский или твердотельный диск при выходе из системы и восстанавливать его при загрузке. Есть примерно миллион способов это сделать. Если у вас systemd, то можно создать сервис
где
Сервис включается командой
Если вас научили ненавидеть Леннарта П., то аналогичный эффект можно получить и в старом добром init-scripts, используя
P. S. Google Chrome и Chromium — не совсем одно и то же. В частности, у них разные пути к каталогам настроек, кеша и политик. Статья написана для Google Chrome. Минута гугления обеспечит вам нужными путями для хромиума.
Усё.
Статья не содержит ничего интересного для более-менее продвинутых пользователей Unix-like систем. Совсем ничего.
Linux предоставляет нам все средства для того, чтобы наша задача решалась за 10 минут, в лоб и правильно, как бы мы ни старались сделать всё через жопу. Я буду намеренно писать подробно.
1. Создаём RAM-диск
Никаких сторонних приложений не требуется. Linux поддерживает RAM-диски на уровне ядра. Эта штука называется tmpfs. Всё, что нам нужно, так это смонтировать tmpfs в любой удобное нам место. Создадим каталог
.chrome/ramdisk
в домашней директории и добавим следующую строку в /etc/fstab
:заменив
сс
на имя вашего пользователя, uid
и gid
— на его идентификаторы (узнать их можно командой id
),size
— на желаемый размер диска. Если у вас оперативку хоть ложкой ешь, то размер можно взять и побольше. Особенностью tmpfs является то, что указанный размер не будет резервироваться в памяти — память не будет тратиться вообще, пока вы фактически не напихаете в RAM-диск данные. Командой df -h
вы всегда можете посмотреть, насколько заполнен этот и другие смонтированные диски.2. Отправляем локальные данные Хрома в наш RAM-диск
Никаких махинаций с настройками и ключами хрома делать не надо. Все юниксовые файловые системы поддерживают символические ссылки. Поэтому тупо перенаправим
~/.config/google-chrome
и~/.cache/google-chrome
в наш диск:3. Ограничиваем размеры кеша в Google Chrome
Мы опять не будет играться с ключами, а используем политики. Для этого создадим файл
/etc/opt/chrome/policies/managed/cache-size.json
с таким содержанием:где циферки — это размеры общего кеша и медиа-кеша соответственно. Можете менять на свой вкус, но следя, чтобы размер
~/.config/google-chrome
+ указанные размеры заполняли диск процентов на 80. Ибо размер первого каталога никак не регулируется, а DiskCacheSize
и MediaCacheSize
вовсе не являются жёсткими границами: Хром может их немного превысить, если будет очень нужно. У меня на момент написания статьи RAM-диск используется на 83%:4. Поддерживаем состояние RAM-диска между перезагрузками компьютера
Как только вы нажали кнопочку «power off», все данные из оперативки улетели в рай для битов. Мы же не хотим начинать каждый день с нового листа — нам нужно сохранять RAM-диск на жёский или твердотельный диск при выходе из системы и восстанавливать его при загрузке. Есть примерно миллион способов это сделать. Если у вас systemd, то можно создать сервис
/etc/systemd/system/chrome-ramdisk.service
:где
~/bin/chrome-ramdisk
— простенький скрипт, который сохраняет RAM-диск в tar-архив или, наоборот, извлекает этот архив в пустой RAM-диск:Сервис включается командой
Если вас научили ненавидеть Леннарта П., то аналогичный эффект можно получить и в старом добром init-scripts, используя
rc.local, rc.local_shutdown
или тому подобные скрипты.P. S. Google Chrome и Chromium — не совсем одно и то же. В частности, у них разные пути к каталогам настроек, кеша и политик. Статья написана для Google Chrome. Минута гугления обеспечит вам нужными путями для хромиума.
Усё.