`

linux系统中的tmpfs

 
阅读更多

 

简介

tmpfs是临时文件系统的意思,但是他又不是普通的文件系统,因为他不是物理磁盘上的空间,而是内存中的一块空间,

但却以物理磁盘分区的方式展示给用户,让用户操作这块空间。tmpfs不需要mkfs命令来格式化,这是他与文件系统的区别。

默认情况下最大占用物理内存一半大小的空间。

 

出现历程

tmpfs出现的历程是这样的,一开始有RamDisk这种技术,这种技术提供一种将内存直接作为分区来使用的能力,且分配给RamDisk的空间是写死的,设定好后不会改变。这个特征利用得不好会对内存产生浪费。

后来,人们在编码过程中发现,所有程序几乎都会产生临时文件,在硬盘上读写大量临时文件会影响计算机性能。于是有人开始把临时文件写入RamDisk中来提高程序运行性能。

然后在Linux2.4内核中,引入了一个全新的文件系统(分区)-tmpfs,来统一解决这一类问题,POSIX标准里,/dev/shm目录就是默认的tmpfs文件系统的挂载点。

 

tmpfs类似于RamDisk,它可以直接使用内存,也可以使用交换分区。tmpfs使用虚拟内存子系统的页面来存储文件,tmpfs不管这些页面到底在物理内存还是在交换分区中,具体存储位置完全交给虚拟内存管理,这和普通用户进程使用的虚拟内存一样。理解了这些,自然就明白了tmpfs这个文件系统和普通的ext2,ext3之类的文件系统之间的区别了。

 

使用方式

使用tmpfs的方式也很简单

mount tmpfs /tmp -t tmpfs -o size=4098M
t表示类型,也就是要挂载文件系统的类型,表明你要挂载的tmpfs是一个tmpfs文件系统;o表示选项,选项里的一个size=100M表示大小是100M,之后就是挂载到/tmp目录

所有使用/tmp目录作为临时目录的程序都会得到很好的速度提升,注意如果不制定使用空间的上限,是有把内存耗尽的可能的,最优的数值设定取决于你机器的负载状态,

需要进行调优设定,另外还是可以通过nr_inodes=x参数来设定文件索引节点的数量,限制的是最大文件数量。

 

分享到:
评论

相关推荐

    Tmpfs on Linux

    ### Tmpfs在Linux系统中的应用与特性 #### 引言 在Linux系统中,`tmpfs`是一种基于内存的文件系统,它不依赖于传统的非易失性存储介质来存储文件数据,而是完全存在于由操作系统内核维护的虚拟内存中。`tmpfs`的...

    详解Linux系统中的tempfs与/dev/shm

    Linux 内核中的 VM 子系统负责在后台管理虚拟内存资源 Virtual Memory,即 RAM 和 swap 资源,透明地将 RAM 页移动到交换分区或从交换分区到 RAM 页,tmpfs 文件系统需要 VM 子系统的页面来存储文件。tmpfs 自己并不...

    学会使用tmpfs文件系统来提速你的linux系统.docx

    ### 使用tmpfs文件系统提升Linux系统的性能 #### 一、tmpfs与虚拟内存(VM) 在深入了解tmpfs之前,我们先来简要回顾一下Linux中的虚拟内存(VM)概念。虚拟内存是操作系统用来管理内存资源的一种机制,它可以分为RAM...

    Linux下tmpfs介绍与使用

     tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储 暂存的文件。  优势 :  1、 动态文件系统的大小。  2、tmpfs 的另一个主要的好处...

    Linux 文件系统介绍

    在嵌入式 Linux 应用中,由于存储设备通常是 RAM 或 ROM(如 FLASH 存储器),因此常用的文件系统类型包括 jffs2、yaffs、cramfs、romfs、ramdisk、ramfs/tmpfs 等。 - **NOR 和 NAND 闪存的区别**:NOR 闪存支持...

    基于zynq的Linux根文件系统生成

    在Linux系统中,根文件系统(Root Filesystem,简称rootfs)扮演着至关重要的角色,它是操作系统启动时的第一个文件系统,包含系统运行所需的基本程序和配置。在ZYNQ FPGA平台上的嵌入式Linux系统中,构建根文件系统...

    嵌入式linux系统移植试题---答案.doc

    嵌入式 Linux 系统移植试题答案 本资源摘要提供了嵌入式 Linux 系统移植试题的答案,涵盖了 bootloader、Linux 内核、根文件系统、交叉开发环境、嵌入式 Linux 系统移植等方面的知识点。 一、单项选择题 1. ...

    嵌入式Linux_的Cramfs_根文件系统配置成可读可写

    总的来说,嵌入式Linux系统设计中,针对Cramfs文件系统的可读可写配置是一项关键任务。通过优化配置,可以在不牺牲存储效率的前提下,满足应用程序的读写需求,这对于资源受限的嵌入式设备尤其重要。通过深入理解...

    AES加密算法在Linux文件系统中的设计与研究.pdf

    文章介绍了AES加密算法的基本原理及其在Linux系统中的应用。 AES加密算法是一种广泛使用的对称加密技术,由美国国家标准与技术研究所(NIST)采纳为新的数据加密标准。它以其高安全性、高效性能、易用性和灵活性等...

    生产环境Linux系统优化方法.pdf

    生产环境Linux系统优化方法 本文档介绍了生产环境...本文档提供了生产环境Linux系统优化方法的详细介绍,涵盖文件系统、内核参数和服务组件三个方面的优化方法,旨在帮助读者朋友们更好地应用于自己的生产系统中。

    嵌入式linux文件系统---很详细,非常适合初学者

    2. **RAM文件系统(tmpfs)**:这种文件系统将数据存储在内存中,速度极快但非持久化,常用于临时存储。 3. **ROM文件系统(如 squashfs, cramfs)**:这类文件系统被固化在只读存储器中,用于节省空间和保护系统...

    Linux虚拟文件系统对物理文件的管理.pdf

    Linux虚拟文件系统(Virtual File System, VFS)是...通过VFS,Linux能够适应各种硬件环境和应用场景,无论是传统的硬盘文件系统,还是现代的网络文件系统(NFS)、内存文件系统(tmpfs)等,都能得到一致的操作体验。

    嵌入式linux系统中常用的文件系统PPT学习教案.pptx

    在嵌入式Linux系统中,文件系统的选择至关重要,因为它直接影响着系统的性能、可靠性和效率。以下是一些常见的嵌入式Linux文件系统及其特点: 1. **Ext2/Ext3**: - Ext2是Linux早期的标准文件系统,支持2GB的最大...

    嵌入式linux系统中常用的文件系统.ppt

    嵌入式Linux系统中,选择合适的文件系统至关重要,因为它们直接影响到系统的性能、可靠性和存储寿命。以下是对一些常用文件系统的详细说明: 1. **Ext2/Ext3**: - Ext2是Linux早期的标准文件系统,支持最大4TB的...

    Linux下根文件系统的制作.pdf

    1. **嵌入式Linux系统构成** 嵌入式Linux通常由四个主要部分组成:引导加载程序、Linux内核、文件系统以及应用程序。根文件系统作为其中一部分,它不仅提供启动所需的环境,还可以作为数据存储区。 2. **嵌入式...

    linux根文件系统

    Another Flash File System YAFFS,又名Yet Another Flash File System,是专为NAND闪存设计的文件系统。与JFFS2不同,YAFFS针对NAND...通过理解这些知识点,我们可以更好地管理和优化嵌入式Linux系统的性能和稳定性。

    Linux下各种主要文件系统的读写性能测试

    接下来是ext2文件系统,它是早期Linux系统常用的文件系统之一。在测试中,ext2的写入速度约为74.8 MB/s,读取速度为74.8 MB/s。与tmpfs相比,ext2的速度稍慢,但更稳定,因为它在磁盘上持久化数据,不像tmpfs那样...

    Linux系统移植-再ARM9上的移植

    【标题】:“Linux系统移植-再ARM9上的移植” 【内容】: Linux系统移植到ARM9处理器是一项技术性极强的工作,涉及到硬件平台、内核配置、编译工具链、驱动程序开发等多个方面。以下是对这个主题的详细阐述: 1. *...

Global site tag (gtag.js) - Google Analytics