Alterando a localização do cache do Chromium e outros do SSD para a RAM usando psd no OpenRC
Olá, eu sou o Munou.
Por acaso, estava dando uma olhada na Arch Wiki e encontrei algo interessante.
Melhoria de desempenho - ArchWiki
- Para saber como sincronizar perfis de navegador, consulte o Profile-sync-daemon. Alguns navegadores específicos podem exigir atenção. Por exemplo, veja Firefox Ramdisk.
Achei que fazia sentido, então decidi experimentar.
Depois de escrever, percebi que o japonês no título estava um pouco estranho, mas...
Basicamente, várias informações como o cache do Chromium por usuário
são colocadas em ~/.config/chromium. Por padrão, elas ficam em discos persistentes como HDD/SSD, mas se forem colocadas na RAM ( tmpfs ), ficam mais rápidas, certo? Como é RAM, os dados são voláteis? Então, a ideia é copiá-los periodicamente para o disco persistente enquanto o sistema está rodando. É isso.
Antigamente, era comum tratar áreas de RAM sobrando como discos persistentes. Talvez seja um sobrevivente desse tipo de técnica?
Instalação
sudo pacman -S profile-sync-daemon
Configuração
Como nada vem ativado por padrão, editamos o arquivo ~/.config/psd/psd.conf.
No meu caso, como uso um notebook que entra frequentemente em suspensão, uso esta configuração.
$ cat ~/.config/psd/psd.conf | grep -v \#
USE_SUSPSYNC="yes"
BROWSERS=(chromium firefox vivaldi)
USE_OVERLAYFS="yes"
Para rodar no OpenRC
Adicionar em /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*
Após parar todos os processos que deseja gerenciar, incluindo o chromium, reinicie o serviço local.
sudo rc-service local restart
Verifique se o link simbólico está apontando para o diretório tmpfs.
$ ls -la ~/.config/chromium
lrwxrwxrwx 1 haturatu haturatu 36 4月 19 08:38 /home/haturatu/.config/chromium -> /run/user/1000/psd/haturatu-chromium
Conclusão
Fiz isso, mas...
Sinto que deveria ter feito uma boa limpeza antes de pensar em mover as coisas para a RAM ^^;
※ Adendo
No caso do OpenRC, ele precisa ser executado no espaço do usuário e, como é feito para o systemd, os dados podem sumir se usado como está. Portanto, não recomendo, mas adicionarei uma solução alternativa mais tarde.
Criei um daemon para o OpenRC
yay -S profile-sync-daemon-openrc-git