zoukankan      html  css  js  c++  java
  • linux之tmpfs

    1、概述

     tmpfs是ramfs的衍生品,ramfs是基于RAM的文件系统,不能使用swap空间;tmpfs可以动态释放空间、可以使用swap空间。ramfs不能控制使用内存的大小容易使内存爆掉;而tmpfs可以在mount的时候指定size来控制使用内存的大小,不会导致系统崩溃。tmapfs是存储在VM的文件系统,VM是linux的虚拟内存,由RM(物理内存)和swap组成。RM的读写性能优于swap,swap是物理磁盘虚拟出来的内存空间。具体tmpfs使用的是RM还是swap是不可控的,

    这是由linux内核的vm子系统管理的。

    tmpfs默认是物理内存大小的一半,比如物理内存是32G,那么tmpfs就是16G。这部分内存空间他并不会完全占用,只有挂载存储文件后才会占用相应大小的空间,例如

    16G的tmpfs文件系统,存放了200M的文件那么它就只占用了200M的内存空间,其他的空间还是可以被其它程序调用。当删除了文件后,系统会动态的将文件占用的那部分内存进行回收。

    2、使用

    由于项目中用到高io、对读写性能要求都比较高,磁盘就不能满目需求,此时可以将这部分数据放到tmpfs,但是要确定数据不会是内存爆掉!自行估算,tmpfs默认使用一般的内存,如32G的内存,tmpfs会占用16G,当然可以mount时通过size参数指定大小。tmpfs是存储在虚拟内存的,所以不需要mkfs,直接挂载就可以使用:

    #mount -t tmpfs  -o  size=16g  tmpfs  /data/spark-tmp

    为了方便使用,添加到/etc/fstab自动挂载。

    #vim  /etc/fstab

    tmpfs       /data/spark-tmp    tmpfs      defaults,size=16g    0  0

    3、对tmpfs进行扩容

    可以直接写到/etc/fstab文件里面,通过size修改tmpfs的大小,size必须是整数。

    #vim  /etc/fstab

    tmpfs       /data/spark-tmp    tmpfs      defaults,size=19g    0  0

    #mount  -o  remount  /data/spark-tmp

    4、优缺点

    优点:

    1)可以动态调整大小; 2)能使用swap空间

    缺点:

    断电重启或者umount  tmpfs都会使数据丢失。

    5、使用建议

    适合存储socket、session等,对于高io的临时数据也可以选择进行存储,对于高io并且还需要持久化到磁盘的,需要通过其他手段,tmpfs可以提高linux系统的性能。

  • 相关阅读:
    软件设计师1990年下午试题5(流程图解析)
    保存新浪网首页到本地(使用urllib)
    软件设计师1990年下午试题1(流程图解析)
    1992年高级程序员下午试题6
    Delphi调用JavaScript解析JSON
    判断是否联网
    存储相关基本概念
    马尔科夫算法 awk 实现
    awk 实例练习 (三)
    awk 实例练习(一)
  • 原文地址:https://www.cnblogs.com/cuishuai/p/7883979.html
Copyright © 2011-2022 走看看