要知道什么是Tmpfs。从维基百科上的解释是:tmpfs在类Unix操作系统上是一个常见的名称会用来做为暂时的档案储存方式,在更多的情况下,它会用虚拟的内存而不是一个永久保存的媒体来做为在档案系统上的使用。其实就是内存的空间,现在内存白菜价的情况下,其实都可以把内存当部分的硬盘空间来使用。主要是要他的高速。当然,掉电了,也就没了,所以要存储的数据,自然是不会放在这边的。所以可以把浏览器的缓存数据,放在这个分区上。
使用的是ubuntu的系统。ubuntu默认就会挂载tmpfs分区。可以用mount命令查看。比如我现在用的电脑:
ping@GE60-Kubuntu ~ % mount /dev/sda7 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/cgroup type tmpfs (rw) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /tmp type tmpfs (rw) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) none on /sys/fs/pstore type pstore (rw) /dev/sda8 on /home type ext4 (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd) vmware-vmblock on /run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
本来应该只有/run这个目录是挂载为tmpfs,因为我后来修改了fstab,也把/tmp目录也挂载成tmpfs格式了,内存大了,不用,也确实有些浪费了。说起这个,比如archlinux的话,是默认把/tmp目录挂载成tmpfs格式的。ubuntu的话,是没有的,原因的话,可以看这个,askubuntu上的回帖:Why doesn’t /tmp use tmpfs?。说的是因为可能部分文件,比如DVD刻录的时候,会有4.7GB空间,鉴于部分机子的内存并没有那么大。使用硬盘空间作为/tmp目录,更合适吧。看看我现在的空间大小吧。
我修改的/etc/fstab
tmpfs /tmp tmpfs defaults 0 0
都是用默认的参数,懒得再去查那些什么的配置信息了。大小的话,没有指定说明空间大小,tmpfs的空间就是内存的一半。所以我这边tmpfs分区的,都是6GB。
ping@GE60-Kubuntu ~ % df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda7 24G 11G 12G 50% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 5.9G 4.0K 5.9G 1% /dev tmpfs 5.9G 190M 5.7G 4% /tmp tmpfs 1.2G 1.6M 1.2G 1% /run none 5.0M 0 5.0M 0% /run/lock none 5.9G 281M 5.6G 5% /run/shm none 100M 20K 100M 1% /run/user /dev/sda8 202G 95G 97G 50% /home
上面的/run分区是因为有做了限制,所以才只有那么点大小。但是/run/shm就没有了,所以也是6GB,但是并不是一下子就真把你的内存花掉6GB,不然我上面那么多个,哪够分?呵呵。其实/run/shm也就是/dev/shm。我们知道linux的各种设备都被映射到/dev/目录下。共享内存的,不就是shm的意思~
基本上linux系统都会有/dev/shm,但是不一定把/tmp挂载成tmpfs。所以修改这个缓存路径的话,还是修改到/dev/shm下比较合适吧。
chrome的修改的话,如果你是使用KDE界面的话,就比较容易了。修改KDE菜单编辑器中的chrome的命令,加上
--disk-cache-dir="/dev/shm/chrome_$USER"
不过修改KDE菜单编辑器的内容的话,只是在当前用户才会有效(为了区分可能不同的用户,所以我加上了_$USER)。因为其实际就是修改当前用户下的.desktop文件。这个文件的路径是:
~/.local/share/applications/google-chrome.desktop
如果不是KDE的界面,修改这边文件中的执行命令,应该也是可以的。只修改这个文件的好处就是,升级的话,不会被覆盖掉。不过你之后执行的话,要点击这边的这个.desktop文件,可以在桌面创建链接就好了。KDE配置的话,如下:
上面就是对于chrome的配置了,其实以chromium为基础的,比如linux版本的遨游浏览器(以前有安装试过)之类的,也是可以的,opera因为起不来,不然我也试试。
对于firefox的话,配置会比较容易。firefox就支持对于缓存的重定向功能吧。在firefox的地址栏输入
about:config
之后会跳出警告:
点保证小心就是了。只要你不乱修改的话,一般不会有问题的。之后进入界面后,右键–>新建–>字符串–>输入首选项名称,输入首选项名称如下:
browser.cache.disk.parent_directory
键值为:
/run/shm/firefox_ping
重启firefox就可以生效了,这里我是直接写上用户名ping了,因为并不是shell脚本执行的,而且这些个配置其实就是当前用户的firefox配置,其他用户的,就需要再次添加配置项了。所以直接写上用户名作为区分吧,如果你的电脑就基本一个用户在使用,那么也可以不用那么麻烦就是。
配置到这里的话,想起那个thunderbird也是和firefox一个出身的,在ubuntu下,使用最多的邮件客户端应该就是这货了吧。所以看看是不是也可以配置呢?答案自然是可以的,不然我也不会说这些话了不是。。。哈哈哈。
thunderbird的about:config是没地方可以输入的。但是其有配置首选项,里面有个配置编辑器
与firefox一样,会弹出警告,警告上面的标题就可以看到about:config了。配置的话,也是和firefox一样的,当然,你得把键值路径给改一下。那么重启下,也就重定向缓存的路径了。对于thunderbird,这边算是附送的吧。我当初也是试着试一下,竟然还是可以的。
网上说,这样的配置的话,是可以加速的,具体嘛!我也没测试过。就算没有,也算是个心里安慰,也不错。
转载请注明: 转载自elkPi.com
本文链接地址: 设置chrome、firefox缓存到tmpfs