Блог P1ratRuleZZZ

Размещение Google Chrome cache на ramdisk: Метод джедая

Итак, настало время записать небольшую инструкцию о размещении google chrome cache на ramdisk.

Зачем?

Все очень просто – снизить количество записей на жесткий диск, а в случае, если SSD является системным диском, – продлить жизнь SSD диску! Только представьте, сколько обращений к диску будет делать Chrome, когда вы листаете себе фотки девушки с большими грудями вконтакте. А зачем хром сохраняет все фотки? А потому что у всех таких девочек обычно есть зеркальные фотоаппараты, а фотки с них много весят, поэтому при первой загрузке вам пришлось ждать 2 секунды, пока фотка грузится, а вот второй раз она с диска прочитается. А если эти временные вещи будут сохраняться на Ramdisk, то это, во-первых, в разы увеличит скорость чтения/записи таких файлов, а, во-вторых, предотвратит засорение вашего HDD или SSD лишними ненужными файлами.

Прелюдия

Во всех линуксах есть отличный способ создания рамдиска там, где захочется, используя tmpfs. Обычно ramdisk используют для хранения там всякого рода мусора и кэшей, например кэша браузера. Создать ramdisk не составляет трудным и на windows, если использовать сторонний софт, в том числе и бесплатный. Об этом подробнее тут.

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

Создание ramdisk – еще не конец наших мук

Не думаю, что могут возникнуть проблемы с созданием ramdisk’а, поэтому будем иметь в виду, что мы создали ramdisk и обозвали его буквой R.

А теперь перейдем к более сложному: нужно каким-то макаром раместить там кэш Google Chrome. Что касается других браузеров, например, Mozilla Firefox, в ней это сделать гораздо проще! Нужно всего лишь открыть окно тонких настроек и создать новый параметр, однако Google Chrome такой возможности не дает.

Побеждаем Google Chrome

Обычный способ – это не для джедаев

В интернете есть много инструкций о том, как поместить кэш на рамдиск, однако все они банальны: указать параметр –disk-cache-dir при запуске. Но вот если, например, ссылку открываешь из Skype или еще откуда-нибудь, то этот параметр просто игнорится. В общем, такой метод мне не нравится, он относительно не сложен.

Джедайский способ

В Windows есть так называемые Junction points, а также есть символические ссылки (symlinks) как и в Linux. Вот их мы и используем!

Допустим, у нас браузером будет пользоваться 5 человек (у каждого свой ярлык запуска), поэтому пути для кэша будут универсальными:

R:\Temp\Chrome\1 – Младшая сестра

R:\Temp\Chrome\2 – Старший брат

R:\Temp\Chrome\3 – Мама

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

Имеется в виду, что просто будут созданы папки с именем, содержащим порядковую цифру.

Поскольку ramdisk’и не умеют сами создавать папки при создании и создаются пустыми, нам потребуется .bat скрипт для автоматического создания таких папок. Он совсем простой,скачать его можно прямо отсюда. Вот его содержимое:


REM Тут устанавливаем букву Ram диска, у меня это R
SET RAMDISK_LETTER=R
REM Тут ставим путь, по которому у нас будет лежать папка с кэшами,
REM Если непонятно, что это и зачем, можно прямо так и оставить
SET CACHE_PATH=Temp\

REM А вот тут дальше можно не читать
%RAMDISK_LETTER%:
cd \
for %%I in (1 2 3 4 5 6 7 8 9) DO (
mkdir "%CACHE_PATH%Chrome\%%I\Cache"
mkdir "%CACHE_PATH%Chrome\%%I\GPUCache"
)

Данный файл необходимо поправить, вписав туда свою букву диска вместо “R” и положить в папку автозагрузок (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup). Потом этот файл можно будет увидеть из “Пуска”:

Теперь необходимо запустить этот файл (просто кликнув по нему, как по программе). И далее зайти на рамдиск и проверить, создались ли там папки по пути R:\Temp\Chrome:

Ну вот, полдела уже сделано. Теперь осталось создать симлинки.

Открываем командную строку и вводим там


echo %localappdata%

Далее обращаем внимание на то, на каком диске у вас находится эта папка. У меня выдало следующее


q:\Documents and Settings\P1ratRuleZZZ\Local Settings\Application Data

То есть моя папка лежит на диске Q:\ (скорее всего у остальных будет C:\). Запоминаем эту букву. Далее пишем следующие команды:

Q:
cd %localappdata%\Google\Chrome
dir

И мы увидим список папок, среди них скорее всего будет User Data (если не меняли сами). А теперь обязательно ЗАКРЫВАЕМ БРАУЗЕР! и создадем сами симлинки, удалив старые папки с кэшем:

rmdir /s /q "User Data\Default\Cache"
rmdir /s /q "User Data\Default\GPUCache"
mklink /D "User Data\Default\Cache" R:\Temp\Chrome\1\Cache
mklink /D "User Data\Default\GPUCache" R:\Temp\Chrome\1\GPUCache
mklink /D "User Data\Default\Media Cache" "R:\Temp\Chrome\1\Media Cache"

Если все прошло успешно, то можно смело запускать браузер! И смотреть в папку R:\Temp\Chrome\1\Cache. Если там появились файлы, то вы все сделали правильно и кэш теперь лежит непосредственно в оперативной памяти.

Можно также посмотреть пару видео, посвященных рамдискам:

  1. Все о RAM диске (1 часть)
  2. Создание RAM диске (2 часть)
  3. Перенос кэша браузера на RAM диск. А нужно ли? (часть 3)
  4. Перенос кэша браузеров (Сhrome,Firefox) на RAM диск (часть 4)

Exit mobile version