本文主要解释“linux tmpfs是什么意思?”感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让主机频道带你学习“linux tmpfs是什么意思?”!
在linux中,tmpfs指的是临时文件系统,这是一种基于内存的文件系统,可以使用用户的内存或交换分区来存储文件。简单来说,tmpfs主要存储临时文件。tmpfs系统的优点:1。动态文件系统的大小;2.拥有闪电般的速度。
什么是Tmpfs?tmpfs(临时文件系统)是Linux/Unix系统上基于内存的文件系统。Tmpfs可以使用您的内存或交换分区来存储文件。因此,tmpfs主要存储临时文件。
Tmpfs类似于虚拟磁盘ramdisk,但并不完全相同。和ramdisk一样,tmpfs可以使用RAM,但是也可以使用交换分区来存储。而且传统的ramdisk是块设备,只有用mkfs格式化才能使用。Tmpfs是文件系统,而不是块设备。只要装上就可以用了。Tmpfs是最好的基于RAM的文件系统。
优势:
1.动态文件系统的大小。
2.tmpfs的另一个主要优势是其闪电般的速度。因为典型的tmpfs文件系统将完全驻留在内存RAM中,所以读和写几乎是瞬时的。同时它还有一个缺点就是重启后不会保留tmpfs数据,因为虚拟内存本质上是易失的。所以需要做一些脚本来做加载、绑定等操作。
注意:tmpfs不是持久的,重启后数据不会保留。请小心。
在日常工作中,我们经常需要检查Linux服务器磁盘挂载的使用情况。我们可以使用df命令。不知道大家有没有注意到。当我们使用这个命令时,我们不仅会检查系统盘和数据盘的挂载,还会看到tmpfs也被挂载了。
[root@test ~]# df -hT
已使用的文件系统类型大小可用百分比装载于
/dev/vda1 ext4 40G 1.1G 37G 3% /
Tmpfs Tmpfs 499M 0 499M 0% /dev/shm同时可以注意到,这个tmpfs的大小是499M,大约是内存大小的一半。
[root@test~]# free -m
缓存的已用空闲共享缓冲区总数
记忆:996 124 872 0 7 57
-/+缓冲区/缓存:59 936
swap:0 0 swap: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
已使用的文件系统类型大小可用百分比装载于
/dev/vda1 ext4 40G 1.1G 37G 3% /
Tmpfs tmpfs 777M 0 777M 0% /dev/shm这个修改是临时的,重启后会恢复正常,而且是内存的一半大小。
永久修改可以
vim /etc/fstab
用以下内容替换tmpfs行:
设置tmpfs/dev/shmtmpfs默认值size = 777M00后,重启会自动挂载到777M的大小,这将永久生效。
实际应用:最后说一下tmpfs的一些应用。tmpfs仍然被广泛使用。在Linux中,可以将一些程序的临时文件放在tmpfs中,利用tmpfs比硬盘快这一特点来提高系统性能。比如可以用来放squid程序的缓存文件。当然还有其他用途。我们应该认为,既然tmpfs的挂载点可以作为普通磁盘,那么它也可以作为nfs的共享目录。但是在使用tmpfs共享nfsd的时候,我们需要考虑的是哪个是瓶颈:网卡的速度还是tmpfs的读写速度。如果网卡的速度是瓶颈,我们可以直接用nfs创建一个常用的磁盘目录。因为tmpfs在重启后丢失,所以在使用tmpfs for nfs之前,必须用rsync从磁盘或其他服务器复制到tmpfs。更新文件时,先更新磁盘上的文件,或者更新rsync的源代码。然后设置一个定时进程,每分钟从磁盘或者rsync同步程序到tmpfs。
tmpfs的其他应用我希望这篇文章能帮助你使用tmpfs。另外,请一定注意,重启后数据会丢失!
评论前必须登录!
注册