tmpfs 文件系统的使用

Linux在2.4后引入tmpfs (temporary file system)是驻扎在内存中的临时文件系统。以提供更高的速度,并在重启或unmount后丢弃。

tmpfs的默认值为实际内存的一半,作为文件系统而非ramfs的块设备,不使用时它不占用资源,在需要时还可以swap out 不需要的内容到swap space。

用途方面,可作为/dev udev 存放装置档案、/var/run 存放各软件的 PID, socket 和 /var/lock 用作锁定档案等等,使用最多的情况可能是PHP cache和Oracle,下文重点介绍为ORACLE使用情况。

Filesystem    Type    Size  Used Avail Use% Mounted on

/dev/sda5     ext3    9.9G  5.6G  3.8G  60% /
tmpfs        tmpfs   1008M     0 1008M   0% /lib/init/rw
varrun       tmpfs   1008M  124K 1008M   1% /var/run
varlock      tmpfs   1008M     0 1008M   0% /var/lock
udev         tmpfs   1008M  2.8M 1005M   1% /dev5.
tmpfs        tmpfs   1008M  472K 1008M   1% /dev/shm


tmpfs,swap,memory之间的关系 (引用 http://blog.sina.com.cn/s/blog_6b7ae4270101s1wa.html)

tmpfs作为VM(Virtual Memory)虚拟系统管理使用:它基于ramfs创造的,同样在内存中存储文件。不同的是,tmpfs可以限制大小,并能够使用swap

而Swap是虚拟硬盘作为内存不足时使用,开启swap后,虚拟内存VM可以使用的内存空间为  VM(Virtual Memory)=RM(Real Memory/RAM)+Swap

SWAP由于位于硬盘上,所以速度远不及RAM,但VM调用的过程对用户不透明。


引用 https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt :

If you compare it to ramfs (which was the template to create tmpfs)
you gain swapping and limit checking. Another similar thing is the RAM
disk (/dev/ram*), which simulates a fixed size hard disk in physical
RAM, where you have to create an ordinary filesystem on top. Ramdisks
cannot swap and you do not have the possibility to resize them. 



修改tmpfs (详细配置可参考此篇文章 http://blog.csdn.net/cougar_mountain/article/details/22988673)

有3个参数可以配置: 

1.size tmpfs,tmpfs所占用空间的最大值,如超出后会被锁定

2.nr_blocks,以PAGE_CACHE_SIZE值 (一般4 KiB) 为单位,分配size大小

3.nr_inodes,tmpfs内可以存储inode的最大值

临时调整命令:

#mount–o size=1500m –o nr_inodes=1000000 –o noatime,nodiratime –o remount /dev/shm

永久修改命令:

需要在/etc/fstab中设置tmpfs的size(size必须为整数)

tmpfs                   /dev/shm                tmpfs   defaults,size=52g 0 0

修改fstab后,重新挂载

#mount –o remount  /dev/shm


tmpfs 在 Oracle中的应用

Oracle11g后,默认使用/dev/shm作为共享内存。如果参数中定义了MEMEORY_TARGET,那么/dev/shm必须大于 MEMORY_TARGET和MEMORY_MAX_TARGET。

如果SGA的大小超过了操作系统/dev/shm的大小,会报错 ORA-00845:MEMORY_TARGET not supported on this system。这时需要调小MEMORY_TARGET参数或定义更大的/dev/shm空间。

成功启用后,开启Oracle查看/dev/shm内容,你会发现大量 ora_orcl_*类的文件如:

ora_orcl_14155780_0  ora_orcl_14483470_1  ora_orcl_14811160_1  ora_orcl_15138850_1  ora_orcl_15466540_1  ora_orcl_15794230_1 



参考资料:

https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt

http://wiki.linux.org.hk/w/Tmpfs

http://blog.csdn.net/sunjiapeng/article/details/8504639

http://www.linuxidc.com/Linux/2013-12/93747.htm

http://blog.itpub.net/25881373/viewspace-696991

http://blog.csdn.net/cougar_mountain/article/details/22988673

http://blog.sina.com.cn/s/blog_6b7ae4270101s1wa.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值