(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Перенос Google Chrome на RAM-диск в Linux

Источник: habrahabr
azudem

Опишу простой способ переноса кеша, настроек и прочих локальных данных Google Chrome на RAM-диск в Linux. Это ускорит скорость работы браузера и исключит насилие над диском (что особенно критично, если у вас SSD).

Статья не содержит ничего интересного для более-менее продвинутых пользователей Unix-like систем. Совсем ничего.

Linux предоставляет нам все средства для того, чтобы наша задача решалась за 10 минут, в лоб и правильно, как бы мы ни старались сделать всё через жопу. Я буду намеренно писать подробно.

1. Создаём RAM-диск

Никаких сторонних приложений не требуется. Linux поддерживает RAM-диски на уровне ядра. Эта штука называется tmpfs. Всё, что нам нужно, так это смонтировать tmpfs в любой удобное нам место. Создадим каталог .chrome/ramdisk в домашней директории и добавим следующую строку в /etc/fstab:

tmpfs /home/сс/.chrome/ramdisk tmpfs noatime,nodiratime,nodev,nosuid,uid=1000,gid=100,mode=0700,size=300M 0 0

заменив сс на имя вашего пользователя, uid и gid - на его идентификаторы (узнать их можно командой id), size - на желаемый размер диска. Если у вас оперативку хоть ложкой ешь, то размер можно взять и побольше. Особенностью tmpfs является то, что указанный размер не будет резервироваться в памяти - память не будет тратиться вообще, пока вы фактически не напихаете в RAM-диск данные. Командой df -h вы всегда можете посмотреть, насколько заполнен этот и другие смонтированные диски.

2. Отправляем локальные данные Хрома в наш RAM-диск

Никаких махинаций с настройками и ключами хрома делать не надо. Все юниксовые файловые системы поддерживают символические ссылки. Поэтому тупо перенаправим ~/.config/google-chrome и ~/.cache/google-chrome в наш диск:

cd ~/.chrome/ramdisk mkdir cache config ln -s ~/.config/google-chrome config ln -s ~/.cache/google-chrome cache

3. Ограничиваем размеры кеша в Google Chrome

Мы опять не будет играться с ключами, а используем политики. Для этого создадим файл /etc/opt/chrome/policies/managed/cache-size.json с таким содержанием:

{ "DiskCacheSize": 40000000, "MediaCacheSize": 30000000 }
где циферки - это размеры общего кеша и медиа-кеша соответственно. Можете менять на свой вкус, но следя, чтобы размер ~/.config/google-chrome + указанные размеры заполняли диск процентов на 80. Ибо размер первого каталога никак не регулируется, а DiskCacheSize и MediaCacheSize вовсе не являются жёсткими границами: Хром может их немного превысить, если будет очень нужно. У меня на момент написания статьи RAM-диск используется на 83%:

$ df -h ~/.chrome/ramdisk Filesystem Size Used Avail Use% Mounted on tmpfs 300M 249M 52M 83% /home/cc/.chrome/ramdisk

4. Поддерживаем состояние RAM-диска между перезагрузками компьютера

Как только вы нажали кнопочку "power off", все данные из оперативки улетели в рай для битов. Мы же не хотим начинать каждый день с нового листа - нам нужно сохранять RAM-диск на жёский или твердотельный диск при выходе из системы и восстанавливать его при загрузке. Есть примерно миллион способов это сделать. Если у вас systemd, то можно создать сервис /etc/systemd/system/chrome-ramdisk.service:

[Unit] Description=Keep Chrome's RAM disk between power-offs [Service] Type=oneshot RemainAfterExit=true ExecStart=/home/сс/bin/chrome-ramdisk restore ExecStop=/home/сс/bin/chrome-ramdisk save [Install] WantedBy=multi-user.target
где ~/bin/chrome-ramdisk - простенький скрипт, который сохраняет RAM-диск в tar-архив или, наоборот, извлекает этот архив в пустой RAM-диск:
#!/bin/bash shopt -s dotglob cd /home/cc/.chrome if [[ "$1" == "save" ]]; then rm ramdisk.tar tar cpf ramdisk.tar ramdisk/* elif [[ "$1" == "restore" ]]; then rm -rf ramdisk/* tar xf ramdisk.tar fi
Сервис включается командой
$ sudo systemctl enable chrome-ramdisk.service

Если вас научили ненавидеть Леннарта П., то аналогичный эффект можно получить и в старом добром init-scripts, используя rc.local, rc.local_shutdown или тому подобные скрипты.

P. S. Google Chrome и Chromium - не совсем одно и то же. В частности, у них разные пути к каталогам настроек, кеша и политик. Статья написана для Google Chrome. Минута гугления обеспечит вам нужными путями для хромиума.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 13.12.2013 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Business Studio 4.2 Enterprise. Конкурентная лицензия + Business Studio Portal 4.2. Пользовательская именная лицензия.
Enterprise Connectors (1 Year term)
Allround Automation PL/SQL Developer - Annual Service Contract - Single user
TeeBI for RAD Studio Suite with source code single license
VMware Workstation Pro 12 for Linux and Windows, ESD
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Реестр Windows. Секреты работы на компьютере
Компьютерные книги. Рецензии и отзывы
Один день системного администратора
Все о PHP и даже больше
Компьютерная библиотека: книги, статьи, полезные ссылки
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100