分享

Linux下的內存文件系統

 用勿龍潛 2012-10-24

Linux下的內存文件系統

默认安装的CentOS,已经开启了tmpfs。tmpfs会使用内存,如果内存用完,会用swap空间。调整tmpfs大小,别超过内存+swap的大小。如果系统资源紧张,用完了内存,用到swap时,tmpfs的效率就大幅度降低了。所以不妨多安装些内存,反正内存价格也没多贵。tmpfs是内存文件系统,类似于DOS年代的ramdisk,mount上去就能用了,不需要用mkfs之类的命令来初始化。

# cat /etc/fstab

LABEL=/ / ext3 defaults 1 1
LABEL=/home /home ext3 defaults 1 2
LABEL=/boot1 /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0


其中tmpfs那一行,就是开启tmpfs。在tmpfs里存放的文件,读写非常快,毕竟直接读取内存,当然比读取磁盘快多了。tmpfs里的文件,重启后就没了。适合存放session,或其他临时性的文件。可以大幅度提供读写速度。

4G的内存,系统默认为开2G的tmpfs空间。

12G的内存,系统默认开6G的tmpfs空间。就是说,默认开一半的内存空间来给tmpfs。

可以使用 shm_open,shm_unlink等方法来操作tmpfs。

查看tmpfs大小:
# df -h /dev/shm

Filesystem Size Used Avail Use% Mounted on
tmpfs 2.0G 24K 2.0G 1% /dev/shm

修改tmpfs大小
修改/etc/fstab 文件中的tmpfs那一行:
tmpfs /dev/shm tmpfs defaults,size=8192M 0 0


然后重新加载tmpfs。

# umount /dev/shm; mount /dev/shm; df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 8.0G 0 8.0G 0% /dev/shm

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多