Loading... #blog-tmpfs # 0x00 `tmpfs`是一种临时文件系统,物理位置位于内存或交换分区中。读写文件的速度远远快于硬盘的速度(未使用交换分区时),但因为物理位置位于内存或交换分区,当机器重启时就会丢失数据。因为高速且重启自动删除数据,因此适合用来存储临时文件,例如一些编程语言的临时编译文件,在一些`linux`发行版中会将`/tmp`挂载为`tmpfs`(使用`df /tmp`命令可以查看)。`tmpfs`可以灵活调整大小,且实际占用大小也是根据存储的数据大小动态分配的。假如创建了4G大小的`tmpfs`分区,并往里面写入1G大小的文件,这时实际占用内存大小为1G而不是4G `tmpfs`衍生于`ramfs`,`ramfs`是完全位使用物理内存的文件系统,但是`ramfs`没有处理内存不足的情况会影响整个系统。而`tmpfs`会在物理内存不足时使用交换分区中的空间,但又因为交换分区一般都是挂载在硬盘上,因此当使用交换分区时性能与硬盘普通文件系统没有差别。 # 0x01 ## Linux挂载tmpfs 使用命令 ```sh # 将tmpfs挂载在/mnt/tmpfs上,并限定大小为4G # 如果不指定size将会自动调整为实际内存大小的一半 sudo mount -o size=4G tmpfs /mnt/tmpfs # 将大小调整为1G sudo mount -o remount,size=1G tmpfs /mnt/tmpfs ``` ## MacOS挂载 在网上搜索MacOS上使用tmpfs时,显示的结果都是使用`ramdisk`文件系统,而`ramdisk`就没有`tmpfs`那么灵活,并且占用内存是创建时固定分配的。 在一筹莫展时,在终端里输入`mount`并按了两次tab键,在提示框中显示有`mount_tmpfs`选项,这说明在MacOS中也可以使用`tmpfs`文件系统 ```sh # 将/Volumes/tmpfs_dir挂载为tmpfs sudo mount_tmpfs -s 4G /Volumes/tmpfs_dir ``` Last modification:September 25, 2024 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的文章对你有用,请随意赞赏
2 comments
不错不错,我喜欢看
怎么收藏这篇文章?