tmpfs详解
查看磁盘挂载命令是df -hT,我们使用此命令除了会查看到系统盘以及数据盘具体挂载情况,还会看到一个tmpfs也在挂载。
[root@iZ2zeg413r63lhzmigi1y2Z ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 1.1G 37G 3% /
[root@iZ2zeg413r63lhzmigi1y2Z ~]# free -m
total used free shared buffers cached
Mem: 124 872 0 7 57
-/+ buffers/cache: 59 936
Swap: 0 0 0Swap: 2064376 0 2064376
查看tmpfs大小是499M, 和内存大小相比,约为内存的一半。df查看到tmpfs,是挂载到/dev/下的shm目录,tmpfs是一个临时文件系统,驻留在内存中,所以/dev/shm/这个目录不在硬盘上,而是在内存里。因为是在内存里,所以读写非常快,可以提供较高的访问速度。linux下,tmpfs默认最大为内存的一半大小,使用df -h命令刚才已经看到了,但是这个df查看到的挂载内存大小的数值,如果没有使用,是没有去真正占用的,只有真正在tmpfs存储数据了,才会去占用。比如,tmpfs大小是499M,用了10M大小,内存里就会使用真正使用10M,剩余的489M是可以继续被服务器其他程序来使用的。
但是因为数据是在内存里,所以断电后文件会丢失,内存数据不会和硬盘中数据一样可以永久保存。了解了tmpfs这个特性可以用来提高服务器性能,把一些对读写性能要求较高,但是数据又可以丢失的这样的数据保存在/dev/shm中,来提高访问速度。
我们还可以根据实际需要去调整tmpfs文件的大小。
[root@iZ2zeg413r63lhzmigi1y2Z shm]# mount -o remount,size=777M tmpfs /dev/shm
[root@iZ2zeg413r63lhzmigi1y2Z shm]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 1.1G 37G 3% /
这种修改是临时修改,重启后会恢复正常,恢复为内存一半大小。
永久修改可以
vim /etc/fstab
把tmpfs这一行改为:
tmpfs /dev/shm tmpfs defaults,size=777M 0 0
重启会自动挂载为777M大小,永久生效。
最后更新:2017-07-03 14:02:32