[ZT]使用tmpfs缓存文件提高性能 - 夜隼 - 博客园

使用tmpfs缓存文件提高性能
tmpfs是一种虚拟内存文件系统,它最大的特点就是它的存储空间在VM(virtual memory)里面。Linux系统中VM主要由RM(Real Memory)和swap组成,因此tmpfs最大的存储空间可达(The size of RM + The size ofSwap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。

使用tmpfs:
#mount  -t tmpfs -o size=32m  tmpfs  /mnt/tmp
上面这条命令分配了上限为32m的VM到/mnt/tmp目录下,用df命令查看一下就知道了。

简单介绍下tmpfs的优缺点;
优点:
1)动态文件系统的大小
您可能以为我们前面在 /mnt/tmp 安装的tmp 文件系统空间的大小是32M。其实不然,/mnt/tmp最初的空间很小,它是随着文件的复制、创建和删除动态增减的。tmpfs能自动处理空间问题,以确保VM资源的循环使用。
上面的参数32m只是告诉内核这个挂载点最大可用的VM为32m,如果不加上这个参数,tmpfs默认的大小是RM的一半,假如你的物理内存是512M,那么tmpfs默认的大小就是256M。
2)速度
由于tmpfs使用的是VM,它是是完全驻留在RAM中的,因此它比硬盘的速度要快许多。
3)没有持久性
因为虚拟内存本质上就是易失的,tmpfs 数据在重新启动之后不会保留。 它让 tmpfs 成为一个保存不需保留的数据(如临时文件,可以在 /tmp 中找到,还有 /var 文件系统树的某些部分)的卓越的文件系统。

缺点:
1)低 VM 情况
2)在现存的安装点上安装问题

使用tmpfs缓存文件提高性能相关推荐

  1. ubuntu 装在ssd_如何在Ubuntu中调整SSD以提高性能

    ubuntu 装在ssd There are lots of tips out there for tweaking your SSD in Linux and lots of anecdotal r ...

  2. CUDA Pro:通过向量化内存访问提高性能

    CUDA Pro:通过向量化内存访问提高性能 许多CUDA内核受带宽限制,而新硬件中触发器与带宽的比率不断提高,导致带宽受限制的内核更多.这使得采取措施减轻代码中的带宽瓶颈非常重要.本文将展示如何在C ...

  3. Sqlserver2005 with as 实现分页以提高性能

    1.在sqlserver中建一个存储过程,代码如下: Code create proc GetRows @begin as int, @end as int as begin    with resu ...

  4. 在Java中使用final关键字可以提高性能吗?

    本文翻译自:Does use of final keyword in Java improve the performance? In Java we see lots of places where ...

  5. java多线程提高性能写法

    为了提高性能,不一定要锁定this,例如,SharedResource有两个独立变化的变量: public class SharedResouce {     private int a = 0;   ...

  6. python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips

    阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. ...

  7. android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解

    Android @IntDef注解取代Java enum枚举提高性能 为提高Android性能,Android官方建议使用@IntDef注解替代Java的enum枚举.@IntDef的使用给出一个例子 ...

  8. java项目怎样提高性能_Java程序员成长之路(如何提高Java程序性能?)

    1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资 ...

  9. java异步处理_SpringBoot异步开发之异步请求,在高并发的情况下,提高性能

    何为异步请求 在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理.如果一个请求需要进行IO操作,比如 ...

最新文章

  1. chmod 4755和chmod 755的区别
  2. python 可变参数 关键字参数_Python关键字及可变参数*args,**kw原理解析
  3. STL的可持久化数组
  4. Moblin MID开发学习笔记 - application launcher安装过程
  5. 微软力挺 Go,宣布参与 Athens 项目和 GopherSource
  6. mongoDB简单介绍及安装
  7. JavaWeb — 解决请求前与请求后中文乱码的问题
  8. 赣州计算机教师招聘,江西省赣州市章贡区2019年招聘教师人员岗位表
  9. 初探线程之线程竞争及故障
  10. html如何让窗口不在任务栏显示,小编教你任务栏不显示打开的窗口怎么解决
  11. ChineseWiki︱百万中文维基百科词条下载与整理
  12. 如何在win7旗舰版下运行汇编的debug、masm、link等
  13. SimpleFOC移植STM32(二)—— 开环控制
  14. 论文笔记:FLEX: Unifying Evaluation for Few-Shot NLP
  15. 2021年全球天然橡胶行业供需现状分析:需求量迎来恢复性增长,中国市场需求量占比超40%[图]
  16. Fuzz方法在SPDK iSCSI的应用实例
  17. 中国驾照的类型和可驾驶汽车类型
  18. oracle 加号和不加号,Oracle中连接与加号(+)的使用
  19. 微信定位和HTML5定位
  20. html的css怎么设置深度,vue css 深度选择器

热门文章

  1. C#表达式,类型和变量
  2. linux环境insight安装与使用
  3. TeamViewer介绍:远程控制计算机
  4. 解决windows7下vs2008不能正常编译ActiveX控件的问题
  5. php判断数组是否存在字符串中,php判断数组元素中是否存在某个字符串的方法
  6. 用计算机辅助实验系统做验证牛顿第三定律,用计算机辅助实验系统(
  7. 自定义html托管,10分钟搞定“傻瓜式”的静态网站搭建托管之旅
  8. 使用JackJSON 流式API 创建JSON串【学习记录】
  9. Redis数据库设置密码
  10. spark编程基础--5.1RDD编程基础