资讯专栏INFORMATION COLUMN

tmpfs详解

Near_Li / 3294人阅读

摘要:了解了这个特性可以用来提高服务器性能,把一些对读写性能要求较高,但是数据又可以丢失的这样的数据保存在中,来提高访问速度。永久修改可以把这一行改为这样设置后重启会自动挂载为大小,永久生效。

致因

在平常工作中,我们经常需要查看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文件的大小。

[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有所帮助,另外,请务必注意,重启后数据会丢失!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10652.html

相关文章

  • tmpfs详解

    摘要:了解了这个特性可以用来提高服务器性能,把一些对读写性能要求较高,但是数据又可以丢失的这样的数据保存在中,来提高访问速度。永久修改可以把这一行改为这样设置后重启会自动挂载为大小,永久生效。 致因 在平常工作中,我们经常需要查看Linux服务器磁盘挂载使用情况,可以使用df命令,不知大家注意到没有,我们使用此命令除了会查看到系统盘以及数据盘挂载情况,还会看到一个tmpfs也在挂载。 [ro...

    appetizerio 评论0 收藏0
  • saltstack-api使用详解

    摘要:本文介绍下的简单使用。介绍本身就提供了一套算完整的,使用来实现的,供外部的程序调用。安装需要安装,然后进行一些配置才可以正常使用,安装方法有两种。命令在中使用方式是客户端方法参数例子。重启再次测试,。 简述 接触了saltstack感觉十分强大,非常适合做自动化运维。本文介绍下salt-api的简单使用。后续打算用django + saltsatck做一个web界面的自动化运维平台。 ...

    A Loity 评论0 收藏0
  • 谁用光了磁盘?Docker System命令详解

    摘要:用了一段时间后,会发现它占用了不少硬盘空间。为了避免构建镜像时使用缓存,我在命令之前添加了一行命令。引入了命令,类似于上的命令,用于查看的磁盘使用情况。这些镜像占用了超过磁盘空间。现在,已使用的磁盘空间又变成了。 译者按: Docker镜像,容器,数据卷以及网络都会占用主机的磁盘空间,这样的话,磁盘很容易就会被用完。这篇博客介绍了一个简单的解决方案 - Docker System命令。...

    mdluo 评论0 收藏0
  • About tmpfs, /dev/shm and Oracle

    摘要:结论通过以上的讨论,结合对设置时性能的考虑,要求是从物理内存中取一定的比例进行设置。如果设置的过大,也就是允许大于物理内存,这样就可能出现单单的就让服务器产生的的结果。建议设置物理内存,至少必须大于的说法是不合适的。 引子 做下面这个总结的起源,是因为在一篇文章中看到了下面内容: 修改tmpfs vi /etc/fstab tmpfs /dev/...

    cppowboy 评论0 收藏0
  • About tmpfs, /dev/shm and Oracle

    摘要:结论通过以上的讨论,结合对设置时性能的考虑,要求是从物理内存中取一定的比例进行设置。如果设置的过大,也就是允许大于物理内存,这样就可能出现单单的就让服务器产生的的结果。建议设置物理内存,至少必须大于的说法是不合适的。 引子 做下面这个总结的起源,是因为在一篇文章中看到了下面内容: 修改tmpfs vi /etc/fstab tmpfs /dev/...

    array_huang 评论0 收藏0

发表评论

0条评论

Near_Li

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<