当前位置:首页 > 技术文章 > 正文内容

Centos7学习笔记(五)-tmpfs和xfs

ivker_lee5年前 (2020-08-11)技术文章966

介绍

/dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统。redhat中默认大小为物理内存的一半,使用时不用mkfs格式化。

tmpfs是Linux/Unix系统上的一种基于内存的虚拟文件系统。tmpfs可以使用您的内存或swap分区来存储文件(即它的存储空间在virtual memory 中, VM由real memory和swap组成)。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势 : 1. 动态文件系统的大小。2. tmpfs 使用VM建的文件系统,速度当然快。3.重启后数据丢失。

当删除tmpfs中的文件时,tmpfs会动态减少文件系统并释放VM资源,LINUX中可以把一些程序的临时文件放置在tmpfs中,利用tmpfs比硬盘速度快的特点提升系统性能。实际应用中,为应用的特定需求设定此文件系统,可以提升应用读写性能,如将squid 缓存目录放在/tmp, php session 文件放在/tmp, socket文件放在/tmp, 或者使用/tmp作为其它应用的缓存设备

 

临时修改/dev/shm大小

#mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm

mount -t tmpfs -o size=20m tmpfs /tmp 临时挂载使用

 

开机启用的配置

可以在/etc/fstab 中定义其大小

tmpfs /dev/shm tmpfs,defaults,size=512m 0 0

tmpfs /tmp tmpfs defaults,size=25M 0 0

修改后执行mount -o remoount /dev/shm 后生效

 

mkdir /dev/shm/tmp (/dev/shm/ 下新建的目录与/tmp绑定, 则/tmp 即使用tmpfs文件系统)

chmod 1777 /dev/shm/tmp

mount --bind /dev/shm/tmp /tmp




Ext4 作为传统的文件系统确实非常成熟稳定,但是随着存储需求的越来越大,Ext4 渐渐适应不了了。比如说现在虽然Ext4 目录索引采用了Hash Index Tree, 但是依然限制高度为2. 做过实际测试
Ext4的单个目录文件超过200W个,性能下降的就比较厉害了。

由于历史磁盘结构原因Ext4 的inode 个数限制(32位数)最多只能有大概40多亿文件。而且Ext4的单个文件大小最大只能支持到16T(4K block size) 的话,这些至少对于目前来说已经是瓶颈了...

而XFS使用64位管理空间,文件系统规模可以达到EB级别,可以说未来几年XFS彻底取代Ext4是早晚的事情!

另外,我看了一下XFS 目前redhat 至少投入了5个Kernel developer 在上面,因为XFS 是基于B+Ttree 管理元数据,即将支持reflink, dedupe等高级特性(Oracle 开发者已经开发了patch)。

综上所述,XFS 取代Ext4 已经成为必然。





分享给朋友:

相关文章

Centos7学习笔记(一)

Centos7学习笔记(一)

1、安装部分新知a、LVM——逻辑卷管理,作用:动态管理磁盘分区空间,缺点:影响高并发下的磁盘性能b、CentOS 7安装之前,修改网卡名称:在安装界面,按“tab”键,调整内核参数,添加“net.ifnames=0 biosdevname=0”这2个参数值(如果是安装好系统后修改,则需几步:1、重命名/etc/sysconfig/network-script/ifcfg-ens33为ifcfg-eth0,并修改内容将DEVICE和NAME值修改为eth0;2、修改/etc/default/gr...

Centos7学习笔记(二)-基础命令(一)

Centos7学习笔记(二)-基础命令(一)

1、cp命令cp命令的四个重要参数:-p 保持文件所有者、权限信息以及时间属性。-r 递归复制,可操作目录。-d 若复制的源文件为链接,则仅复制链接本身,且保持链接指向。-a 等同于以上的dpr。例:cp test.txt{,.ori}     =====    cp test.txt test.txt.ori2、alias命令查看或者设置命令别名由此涉及一个问题——如何忽略因为系统设定的命令别名,导致的命令被强制交互执行?  ...

Centos7学习笔记(二)-基础命令(二)

Centos7学习笔记(二)-基础命令(二)

3、Linux基础命令1、date参数:-s  设置日期-d  display time described by STRING, not 'now'---用日期表示法的完整字符串(比如“1day”,“2month”,“1year”)来显示时间,但不准用“now”。实例如下:[root@ecs-ryCz8 /home/study]# date +%F -d "now" 2020-...

Centos7学习笔记(三)——重定向、通配符、正则

Centos7学习笔记(三)——重定向、通配符、正则

1、STDIN、STDOUT、STDERR输入重定向和输出重定向的符号和作用,分别在下面2个表中。注意:当输出结果是error时,是不能将结果重定向到“标准输出”中,反之,输出结果是“标准输出”,也不能重定向至错误输出中。如下图实例:[study@nfs01 ~]$sudo echo "00 1 * * * /usr/bin/rsync  -avz -r /etc/r...

Centos7学习笔记(八)-基础命令(三)

Centos7学习笔记(八)-基础命令(三)

1、rsync作为一个同步(备份,增量备份)命令,它的选项非常的多,常用的组合是avz,当然,如果需要建立备份服务,那么-n必然是用的多的参数选项。关于rsync的用法详细说明,参考网上的这篇原文链接:https://www.cnblogs.com/f-ck-need-u/p/7220009.html#blog21,文章写的非常好,有大量的通俗易懂的例子及解释。以下关于rsync参数选项的说明,就抄录自该文章。v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细...

Centos7学习笔记(九)- 基础系统优化

Centos7学习笔记(九)- 基础系统优化

本部分内容是针对运维管理过程中,为了达到规范、便捷、增强基础安全性等目的,而对初始安装的生产(也包括测试)用操作系统,做各项系统优化、规范工作。(持续更新。。。)1、做好服务器的用途规划(含IP规划)和磁盘目录(比如一般备份用的服务器,独立建立/data目录)2、如有必要,尽量做本地hosts解析;或者搭建本地dns解析服务器,所有非dns服务器dns指向该服务器。3、分组各服务器,各组指定更改yum源为不同的公网yum源(比如阿里源、163源、清华源等),如有可能,自行搭建yum源服务器,所有...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。