对于一个喜欢折腾系统的人来说,为笔记本电脑建立内存虚拟盘,来弥补笔记本小硬盘天然的性能瓶颈问题,总是免不了的。

内核选项 

Linux 内核内建了ramdisk支持,正常情况下,内核中下列选项应该是enable 的。

$ zcat /proc/config.gz |grep -i tmpfs
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y

这就表明,可以直接利用mount 命令创建一个内存虚拟盘。

创建内存盘

我打算把内存虚拟盘放在/mnt/ram 。使用以下简单的命令:

# mkdir /mnt/ram 
# mount -t tmpfs -o 128m none /mnt/ram

也可以不指定内存盘大小:

# mount -t tmpfs none /mnt/ram 

在内存盘建立之后,查看top 或者系统监视器,可用内存并未相应减少(明确指定大小的内存盘也是如此)。经过测试,未明确指定大小的内存盘会动态分配内存,可以持续向内存盘中写入文件,当再无可用物理内存时才会报空间不足的错误。 tmpfs 文件系统默认采用1G 的容量,但并未实际分配并占用这部分内存,而是动态分配。这要比Windows下流行的内存虚拟盘方案 方便得多。

启动时自动创建

接下来,将以下行加入/etc/fstab,让系统在每次启动时自动创建内存盘。

none            /mnt/ram    tmpfs       noatime 0 0 

利用内存盘 

最后,可以把一些常用软件的临时文件夹指定到/mnt/ram,如果应用程序不支持临时文件夹配置,也可以将其转换成到/mnt/ram 的符号链接。

Lotus Notes 8

notes 8会在$HOME目录自动建立workplace-tmp 目录来存储临时文件,我们可以将其转移到内存盘中。先关闭notes,然后执行以下命令:

$ mkdir /mnt/ram/workplace-tmp
$ echo ' mkdir /mnt/ram/workplace-tmp' >> ~/.bash_profile
$ mv ~/workplace-tmp ~/workplace-tmp.bak
$ ln -s /mnt/ram/workplace-tmp ~/workplace-tmp
$ ls -l ~/workplace-tmp
lrwxrwxrwx 1 alex users 22 2008-02-19 09:36 /home/alex/workplace-tmp -> /mnt/ram/workplace-tmp  

更新 2008-03-24

将/var/tmp 与/tmp 也加入到tmpfs

/etc/fstab

none			/tmp	    tmpfs		noatime	0 0
none			/var/tmp    tmpfs		noatime	0 0

设置Notes

修改~/.bash_profile

if [ ! -e /var/tmp/workplace-tmp ]; then
mkdir /var/tmp/workplace-tmp
fi

重启后,修改Notes临时文件夹符号连接

$ rm ~/workplace-tmp
$ ln -s /var/tmp/workplace-tmp ~/workplace-tmp

将/var/tmp/ 放入tmpfs 之后,在merge一些巨大的软件包时,中途可能因为临时空间不足而失败退出,这种情况下,可以指定PORTAGE_TMPDIR 到其它具有足够空间的路径来解决。比如:

# PORTAGE_TMPDIR=~/tmp emerge -av openoffice
$ sudo PORTAGE_TMPDIR=~/tmp emerge -av openoffice 

延展阅读

(未完)

Post a comment

mail.png


相似文章|Related Entries

最近更新|Recent Entries

不定期更新|Handy Entries

相似标签|Related Tags

gentoo
3d (1)
chinese (2)
conf (1)
db2 (2)
driver (2)
emerge (0)
environment (1)
fingerprint reader (1)
Fn (1)
fonts (1)
hdaps (1)
java (1)
jdk (1)
kernel configuration (1)
linux (19)
locale (1)
picasa (1)
portage (0)
ramdisk (2)
rebuildpkgdb (1)
software (2)
soundcard (0)
subversion (2)
svn (1)
t43 (12)
thinkpad (12)
tmpfs (1)
wine (1)
wireless (1)
x300 (1)
中文 (1)
指纹 (1)
linux
3d (1)
chinese (2)
conf (1)
db2 (2)
driver (2)
emerge (0)
environment (1)
fingerprint reader (1)
Fn (1)
font (1)
fonts (1)
gentoo (17)
Gentoo (1)
hdaps (1)
java (1)
jdk (1)
kernel configuration (1)
locale (1)
picasa (1)
portage (0)
ramdisk (2)
rebuildpkgdb (1)
software (2)
soundcard (0)
subversion (2)
svn (1)
t43 (12)
thinkpad (12)
tmpfs (1)
wine (1)
winxp (4)
wireless (1)
x300 (1)
中文 (1)
指纹 (1)
ramdisk
Firefox (7)
gentoo (17)
linux (19)
tmpfs (1)
tmpfs
gentoo (17)
linux (19)
ramdisk (2)

分类栏目|Categories

按月归档|By Month

2008
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

站内链接|Site Links

Powered by
Movable Type 3.34