2012年(10)
分类: LINUX
2012-11-05 15:42:49
tmpfs(temporary file system)是Linux特有的文件系统,标准挂载点是/dev/shm,默认大小是实际内存的一半,如下图所示。当然,用户也可以将tmpfs挂载在其他地方。tmpfs可以使用物理内存,也可以使用swap交换空间。
tmpfs有些像虚拟磁盘(ramdisk),但ramdisk是一个块设备,而且需要一个mkfs之类的命令格式化后才能使用。而tmpfs是一个独立的文件系统,不是块设备,只要挂载,就可以立即使用。下面是tmpfs主要的三个特点:
Ø 临时性:由于tmpfs是构建在内存中的,所以存放在tmpfs中的所有数据在卸载或断电后都会丢失;
Ø 快速读写能力:内存的访问速度要远快于磁盘I/O操作,即使使用了swap,性能仍然非常卓越;
Ø 动态收缩:tmpfs一开始使用很小的空间,但随着文件的复制和创建,tmpfs文件系统会分配更多的内存,并按照需求动态地增加文件系统的空间。而且,当tmpfs中的文件被删除时,tmpfs文件系统会动态地减小文件并释放内存资源。
tmpfs对于文件快速缓存和临时数据来说,是一种较理想的做法。现在假设你想为大流量网站在/var/www/目录下创建文件缓存。
首先,创建缓存目录:
mkdir -p /var/www/
如有必要可以更改目录的属主,例如:
chown
proxy:proxy /var/www/
现在我们把这个目录加载到内存设备中(使用100MB大小,并且权限为755):
mount -t
tmpfs -o size=100M,mode=0755 tmpfs /var/www/
如果想调整该缓存目录使用的内存空间为200MB,可以使用下面的命令:
mount -o remount,size=200M /var/www/
如果想在系统启动时自动缓存这个目录,编辑/etc/fstab并添加下面内容
tmpfs /var/www/ tmpfs size=100M,mode=0755 0 0
note: more info about tmpfs, please visit: