Настройка размещения кэша Chromium в RAM вместо SSD с использованием psd на OpenRC
Привет, я Munou.
Случайно заглянул в Arch Wiki и нашел кое-что интересное.
Улучшение производительности - ArchWiki
- Информацию о том, как синхронизировать профили браузера, см. в Profile-sync-daemon. Для определенных браузеров могут потребоваться дополнительные меры предосторожности. Например, см. Firefox Ramdisk.
Мне показалось, что это имеет смысл, поэтому я решил попробовать.
Уже после написания я заметил, что японский в заголовке звучит странно, но...
В общем, различная информация, такая как кэш Chromium для каждого пользователя,
размещается в ~/.config/chromium. По умолчанию это находится на постоянном диске, таком как HDD/SSD, но если поместить это в RAM ( tmpfs ), будет быстрее, верно? RAM энергозависима? Значит, будем периодически копировать данные на постоянный диск во время работы. Вот в чем суть.
Раньше было довольно популярно использовать лишнюю оперативную память как постоянный диск. Может, это своего рода выживший из тех времен?
Установка
sudo pacman -S profile-sync-daemon
Настройка
По умолчанию ничего не включено, поэтому нужно отредактировать ~/.config/psd/psd.conf.
В моем случае это ноутбук, который часто уходит в спящий режим, поэтому я использую такие настройки.
$ cat ~/.config/psd/psd.conf | grep -v \#
USE_SUSPSYNC="yes"
BROWSERS=(chromium firefox vivaldi)
USE_OVERLAYFS="yes"
Для работы в OpenRC
Добавление в /etc/local.d
$ cat /etc/local.d/psd.start
#!/bin/sh
/usr/bin/psd sync
$ cat /etc/local.d/psd.stop
#!/bin/sh
/usr/bin/psd resync
/usr/bin/psd unsync
$ chmod +x /etc/local.d/psd*
После остановки всех процессов, которыми вы хотите управлять, включая chromium, перезапустите службу local.
sudo rc-service local restart
Убедитесь, что символическая ссылка указывает на tmpfs.
$ ls -la ~/.config/chromium
lrwxrwxrwx 1 haturatu haturatu 36 4月 19 08:38 /home/haturatu/.config/chromium -> /run/user/1000/psd/haturatu-chromium
Заключение
Сделать-то сделал, но...
Кажется, прежде чем переносить всё в RAM, стоило бы хорошенько прибраться ^^;
※ Дополнение
В случае с OpenRC это нужно запускать в пользовательском пространстве, а так как это предназначено для systemd, при использовании «как есть» данные могут пропасть. Поэтому я не рекомендую этот способ, но позже добавлю информацию о том, как этого избежать.
Создал демон для OpenRC
yay -S profile-sync-daemon-openrc-git