在 OpenRC 上使用 psd 将 Chromium 缓存等从 SSD 移动到 RAM
你好,我是无能。
偶然翻看 Arch Wiki 时发现了一个不错的东西。
- 关于同步浏览器配置文件的方法,请参考 Profile-sync-daemon。某些浏览器可能需要注意。例如,请参考 Firefox Ramdisk。
觉得挺有道理的,于是决定尝试一下。
写完之后才发现标题的日语有点奇怪,不过...
也就是说,用户级别的 Chromium 等缓存等各种信息...
存放在 ~/.config/chromium 目录下。默认情况下,这些信息存放在 HDD/SSD 等持久化磁盘上,但如果放在 RAM ( tmpfs ) 上,速度会变快。因为是 RAM,所以会挥发?那么就在运行期间定期将其复制到持久化磁盘侧。就是这么回事。
很久以前也有很多类似的将剩余 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