linux tmpfs指的是什么

94次阅读
没有评论

共计 2381 个字符,预计需要花费 6 分钟才能阅读完成。

本篇内容主要讲解“linux tmpfs 指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“linux tmpfs 指的是什么”吧!

在 linux 中,tmpfs 是指临时文件系统,是一种基于内存的文件系统,可以使用用户的内存或 swap 分区来存储文件;简单来说,tmpfs 主要存储暂存的文件。tmpfs 系统的优势:1、动态文件系统的大小;2、拥有闪电般的速度。

Tmpfs 是什么

tmpfs(临时文件系统)是 Linux/Unix 系统上的一种基于内存的文件系统。tmpfs 可以使用您的内存或 swap 分区来存储文件。由此可见,tmpfs 主要存储 暂存的文件。

tmpfs 和虚拟磁盘 ramdisk 比较类似像,但不完全相同,和 ramdisk 一样,tmpfs 可以使用 RAM,但它也可以使用 swap 分区来存储,而且传统的 ramdisk 是个块设备,要用 mkfs 来格式化它,才能真正地使用它;而 tmpfs 是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs 是最好的基于 RAM 的文件系统。

优势 :

1、动态文件系统的大小。

2、tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。同时它也有一个缺点 tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

注意:tmpfs 不具备持久性,重启后数据不保留,请务必注意。

在平常工作中,我们经常需要查看 Linux 服务器磁盘挂载使用情况,可以使用 df 命令,不知大家注意到没有,我们使用此命令除了会查看到系统盘以及数据盘挂载情况,还会看到一个 tmpfs 也在挂载。

[root@test ~]# df -hT
 
Filesystem Type Size Used Avail Use% Mounted on
 
/dev/vda1 ext4 40G 1.1G 37G 3% /
 
tmpfs tmpfs 499M 0 499M 0% /dev/shm

同时可以注意到,这个 tmpfs 大小是 499M, 大小和内存相比,约为内存的一半。

[root@test~]# free -m
 
 total used free shared buffers cached
 
Mem: 996 124 872 0 7 57
 
-/+ buffers/cache: 59 936
 
Swap: 0 0 0Swap: 2064376 0 2064376

我们通过 df 可以看到 tmpfs 是挂载到 /dev/ 下的 shm 目录,tmpfs 是什么呢? 其实是一个临时文件系统,驻留在内存中,所以 /dev/shm/ 这个目录不在硬盘上,而是在内存里。因为是在内存里,所以读写非常快,可以提供较高的访问速度。linux 下,tmpfs 默认最大为内存的一半大小,使用 df - h 命令刚才已经看到了,但是这个 df 查看到的挂载内存大小的数值,如果没有使用,是没有去真正占用的,只有真正在 tmpfs 存储数据了,才会去占用。比如,tmpfs 大小是 499M, 用了 10M 大小,内存里就会使用真正使用 10M,剩余的 489M 是可以继续被服务器其他程序来使用的。但是因为数据是在内存里,所以断电后文件会丢失,内存数据不会和硬盘中数据一样可以永久保存。了解了 tmpfs 这个特性可以用来提高服务器性能,把一些对读写性能要求较高,但是数据又可以丢失的这样的数据保存在 /dev/shm 中,来提高访问速度。

Tmpfs 大小调整

有时候,当应用程序使用到 Tmpfs 时,而在部署的时候如果没有对应用程序占用的内存做足够的评估时,就有可能把 Tmpfs 用满,这个时候就需要调整 Tmpfs 的大小了,当然,调整的大小不能大于你机器内存大小,否则,你只能换机器了,又或是优化你的应用程序。

[root@test]# mount -o remount,size=777M tmpfs /dev/shm
 
[root@test]# df -hT
 
Filesystem Type Size Used Avail Use% Mounted on
 
/dev/vda1 ext4 40G 1.1G 37G 3% /
 
tmpfs tmpfs 777M 0 777M 0% /dev/shm

这种修改是临时修改,重启后会恢复正常,恢复为内存一半大小。

永久修改可以

vim /etc/fstab 
 
把 tmpfs 这一行改为: 
tmpfs /dev/shm tmpfs defaults,size=777M 0 0

这样设置后重启会自动挂载为 777M 大小,永久生效。

实际应用:

最后在说下 tmpfs 的一些应用,tmpfs 用途还是较广的,Linux 中可以把一些程序的临时文件放置在 tmpfs 中,利用 tmpfs 比硬盘速度快的特点来提升系统性能。比如可以用来放 squid 程序的缓存文件。当然,还有其他的用途,我们应该想到,tmpfs 的挂载点既然能当作普通磁盘使用,也就能当作 nfs 的共享目录使用。但是用 tmpfs 做 nfsd 共享需要考虑网卡速度和 tmpfs 读写速度二者孰为瓶颈,如果网卡速度是瓶颈,那么直接用 nfs 创建一个普通磁盘目录即可。因为 tmpfs 重启后丢失,使用 tmpfs 做 nfs 前,须先从磁盘或用 rsync 从其他服务器拷贝到 tmpfs 里。更新文件时,先更新磁盘上的文件,或更新 rsync 的源。然后设置定时进程,每分钟从磁盘或 rsync 里将程序同步到 tmpfs 即可。

tmpfs 的其他应用希望本文对大家使用 tmpfs 有所帮助,另外,请务必注意,重启后数据会丢失!

到此,相信大家对“linux tmpfs 指的是什么”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计2381字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)