Ubuntu中使用RamDisk给Chrome浏览器提速欧洲杯竞猜平台:

想法:

/dev/shm目录不在磁盘上,而是在内存里,因此使用linux
/dev/shm/的效率非常高,直接写进内存.

在Ubuntu环境中,将google-chrome浏览器的缓存放到RamDisk里,从而实现网页浏览加速。

查看/dev/shm的大小

1. 背景知识:Ubuntu中的RamDisk,参考链接:
 http://www.linuxidc.com/Linux/2010-12/30868.htm

df -h

style=”COLOR: #000000″>Ubuntu默认将内存的一半作为ramdisk空间使用。挂载点为/dev/shm
文件类型为tmpfs

/dev/shm
不完全是RamDisk,若它使用超过电脑一半以上的RAM,就会开始吃SWAP。另外它没用到的部份,会自动释放出来给系统使用。

将/tmp目录设置到RamDisk的方法

基本上只要打以下指令,就能将 /tmp 绑定到 /dev/shm

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

※ 注:为何是用 mount –bind 绑定,而不是 ln -s 软连结,原因是 /tmp
目录,系统不给删除。

修改/dev/shm的大小,默认为内存的一半

2. 背景知识:google-chrome的用户数据位置

vim /etc/fstab

linux版本的chrome默认的用户数据位置在$HOME/.config/google-chrome,可通过在浏览器地址栏中输入about://config来查看。

末尾添加

3. 移动chrome用户数据,并在默认位置建立符号连接

tmps /dev/shm tmpfs defaults,size=1G 0 0

sudo mkdir /dev/shm/google-chrome
sudo chmod 777 /dev/shm/google-chrome
cp -r ~/.config/google-chrome /dev/shm/
rm -r ~/.config/google-chrome
ln -s /dev/shm/google-chrome ~/.config/

重新挂载/dev/shm

至此已经实现了将chrome的用户数据移动到RamDisk中。打开Chrome浏览器,输入about://config,会看到如下信息:

mount -o remount /dev/shm/

Profile Path: /dev/shm/google-chrome/Default

/dev/shm的应用

现在的问题是,关机或重启系统后,保存在RamDisk中的用户数据会丢失,chrome浏览器恢复到初次安装状态。要解决此问题,需要在退出系统时,自动保存chrome用户数据,并且在进入系统时,自动恢复用户数据到RamDisk。

mkdir /dev/shm/tmp
chmod 777 /dev/shm/tmp
mount -B /dev/shm/tmp /tmp

4. 自动保存和恢复chrome用户数据

将php的session文件放在/tmp下

4.1 退出系统时自动保存chrome用户数据

vim /etc/php.ini

在home目录建立一个脚本,取名backupchrome:

有则修改,无则添加

vi ~/backupchrome

session.save_path = “/tmp”

内容如下:

/dev/shm/tmp目录重启以后会丢失,设置重启自动重新添加/dev/shm/tmp

#! /bin/sh

tar -cvzf /home/xxx/chrome-data.tar.gz /dev/shm/google-chrome

touch shmTmp.sh
chmod +x shmTmp.sh
vim shmTmp.sh

赋予可执行权限:

添加:

chmod 777 ~/backupchrome

#!/bin/bash
mkdir /dev/shm/tmp
chmod 777 /dev/shm/tmp
mount -B /dev/shm/tmp/ /tmp

在/etc/rc0.d/(关机脚本)和/etc/rc6.d/(重启脚本)两个目录中建立该文件的符号连接,均以K开头,表示在退出系统时执行:

设置开机自动执行脚本

sudo ln -s ~/backupchrome /etc/rc0.d/K01backupchrome
sudo ln -s ~/backupchrome /etc/rc6.d/K01backupchrome

vim /etc/rc.local

4.2 进入系统时自动恢复chrome用户数据

末尾添加:

在home目录再建立一个脚本,取名restorechrome:

/root/shmTmp.sh

vi ~/restorechrome

保存退出,增加执行文件属性

内容如下:

chmod +x /etc/rc.local

#! /bin/sh

cd /
tar -xvzf /home/xxx/chrome-data.tar.gz

顺便再写一个将/tmp文件夹mount到RamDisk的脚本,取名mounttmp:

vi ~/mounttmp

内容如下:

#! /bin/sh

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

将两个文件赋予可执行权限:

chmod 777 ~/restorechrome
chmod 777 ~/mounttmp

现在需要确认Ubuntu的runlevel,只需输入:

runlevel

返回值:

N 2

说明Ubuntu图形界面的runlevel是2。因此在/etc/rc2.d/目录中建立这两个文件的符号连接,均以S开头,表示在进入系统时执行:

sudo ln -s ~/restorechrome /etc/rc2.d/S01restorechrome
sudo ln -s ~/mounttmp /etc/rc2.d/S02mounttmp

配置结束,可重启系统验证。

本文配置方法在Ubuntu 11.04 x86_64环境试验成功。

欧洲杯竞猜平台 1

相关文章