最近需要使用到 ramfs 和 tmpfs 做内存文件系统,下面对这两个文件系统相关的信息,做一下总结:

参考链接:

https://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/

https://www.cnblogs.com/dosrun/p/4057112.html

https://www.cnblogs.com/zlhff/p/5436092.html

http://blog.chinaunix.net/uid-375398-id-4096820.html (ramdisk 于 ramfs )

ramfs, tmpfs, rootfs, initramfs的区别

ramfs 和 tmpfs 对比:

Experimentation Tmpfs Ramfs
Fill maximum space and continue writing Will display error Will continue writing
Fixed Size Yes No
Uses Swap Yes No
Volatile Storage Yes Yes

结论:

  • ramfs 因为追求高效和简单,去掉了容量计数;所以当使用的值超过分配的值的时候,将会继续使用;
  • tmpfs 使用了虚拟内存,其会使用swap和内存, 其会将一些不必要的文件内容写入到swap当中;并且会使用计数,来统计当前使用的容量,并进行容量限制;使用df -h 操作可以显示其具体使用的容量和可用容量信息;现在系统中,大多使用 tmpfs 作为内存文件系统;
  • ramdisk 是快设备,ramfs 是文件系统;ramdisk的内存空间大小是固定的,一经设定就不能改变大小了;
  • tmpfs 带来了一定的管理机制,但是也是意味着 相对于 ramfs,tmpfs 性能较差一点;不过使用方式上基本相同;

Linux 社区文档:

https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt

https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

https://en.wikipedia.org/wiki/Tmpfs (/dev/shm)

ramfs 与 tmpfs 的使用和测试(没想到之前也写过类似的博客,竟然忘记了):

https://www.cnblogs.com/xuyaowen/p/ramfs-tmpfs-test.html

ramfs 和 tmpfs 以及 ramdisk相关调研的更多相关文章

  1. ramfs和tmpfs的区别

    简介 ramfs和tmpfs是在内存上建立的文件系统(Filesystem).其优点是读写速度很快,但存在掉电丢失的风险.如果一个进程的性能瓶颈是硬盘的读写,那么可以考虑在ramfs或tmpfs上进行 ...

  2. Linux 内存文件系统-ramfs and tmpfs

    Linux内存文件系统:可满足高IO的要求 ramdisk: 基于虚拟在内存中的其他文件系统(ex2fs). 挂载方式:mount /dev/ram /mnt/ramdisk ramfs: 物理内存文 ...

  3. GNN 相关资料记录;GCN 与 graph embedding 相关调研

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  4. GNN 相关资料记录;GCN 与 graph embedding 相关调研;社区发现算法相关;异构信息网络相关;

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  5. 资深小白带你走进OS Memory

    图片来源:http://www.tomshardware.com/ 序言: Memory(内存)是一台计算机组成的重要部分,也是最基础的一部分.其它基础组件有主板.CPU.磁盘.显卡(可独立可集成)等 ...

  6. Linux下tmpfs与ramfs的区别

      ramfs是Linux下一种基于RAM做存储的文件系统.在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储 ...

  7. Linux的tmpfs和ramfs

    tmpfs tmpfs是一种虚拟内存文件系统, 它的存储空间在VM里面,现在大多数操作系统都采用了虚拟内存管理机制, VM(Virtual Memory) 是由Linux内核里面的VM子系统管理. V ...

  8. ramdisk配置、解压、创建rootfs、启动简单分析

    关键词:ramdisk.rdint..init.ramfs.__initramfs_start.__initramfs_size.rootfs.ramfs.populate_rootfs().gzip ...

  9. linux里tmpfs文件系统

    linux里tmpfs文件系统 是一个虚拟内存文件系统,它不同于传统的用块设备形式来实现的Ramdisk,也不同于针对物理内存的Ramfs.Tmpfs可以使用物理内存,也可以使用交换分区. umoun ...

随机推荐

  1. Java程序员月薪三万,需要技术达到什么水平?

    最近跟朋友在一起聚会的时候,提了一个问题,说 Java 程序员如何能月薪达到二万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到.也许是的,小公司或者非互联网企业拿二万的 ...

  2. 理解MVVM在react、vue中的使用

    理解MVVM在react.vue中的使用 一:什么是MVC.为什么不用MVC 1:MVC的含义: M(modal):是应用程序中处理数据逻辑的部分. V (view)  :是应用程序中数据显示的部分. ...

  3. Pick of the Week'19 | 图数据库 Nebula 第 47 周看点-- insert 的二三事

    每周五 Nebula 为你播报每周看点,每周看点由本周大事件.用户问答.Nebula 产品动态和推荐阅读构成. 今天是 2019 年第 47 个工作周的周五,来和 Nebula 看看本周有什么图数据库 ...

  4. c++多个文件中共用一个全局变量 变量跨文件使用

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12047602.html 虽然很多博客都写过这个了 但是 我还是继续补充的详细一点吧  毕竟很多 ...

  5. SpringBoot"热"部署解决方案

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 SpringBoot热部署两种方式 1.SpringLoader 插件 ​ 缺点: Java 代码做部署处理.但是对页面无能为力. 2.DevToo ...

  6. ES 6新语法

    一.块级作用域绑定 回顾:使用var关键字定义变量 定义 = 声明 + 赋值:   1. 可以一次定义多个变量 2. 定义时可以只声明不赋值 3. 定义之后可以随时修改变量的值 4. 变量声明会被提升 ...

  7. 团队项目之Scrum7

    小组:BLACK PANDA 时间:2019.11.27 每天举行站立式会议 提供当天站立式会议照片一张 2 昨天已完成的工作 2 内容展示 根据三大板块进行分类: 电影. 音乐以及摄影 今天计划完成 ...

  8. 50-overlay 如何实现跨主机通信?

    上一节我们在 host1 中运行了容器 bbox1,今天将详细讨论 overlay 网络跨主机通信的原理. 在 host2 中运行容器 bbox2: bbox2 IP 为 10.0.0.3,可以直接 ...

  9. JMS消息中间件

    1.什么是消息中间件 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信.对于消息中 ...

  10. python总结【来自Runoob】

    test.py #!/usr/bin/python print "Hello, Python!"; $ chmod +x test.py # 脚本文件添加可执行权限 $ ./tes ...