tmpfs是一种基于内存的文件系统,安装后即可使用,下面小编将针对Linux tmpfs的用途及大小的调整做个详细介绍,有兴趣的朋友可以来了解下。

tmpfs介绍

tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化

它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。

linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。

Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。如果有足够大的物理内存,可以不划分Swap分区。

VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。

tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M

一般情况下,是配置的小于物理内存大小的。

tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。

当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。

#########################

tmpfs的用途

例如:

Oracle 中的Automatic Memory Management特性就使用了/dev/shm。

LINUX中可以把一些程序的临时文件放置在tmpfs中,利用tmpfs比硬盘速度快的特点提升系统性能。

调整tmpfs大小大致有以下三种方法:

1.直接挂载到需要的目录--比如系统的临时目录-可以根据实际需要挂载某个程序的临时文件的目录

[root@bys3 ~]# mount -t tmpfs -o size=20m tmpfs /tmp

[root@bys3 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 16G 10G 4.7G 69% /

/dev/sda1 99M 21M 74M 22% /boot

tmpfs 502M 0 502M 0% /dev/shm

tmpfs 20M 0 20M 0% /tmp

由于没有挂载之前/tmp目录下的文件也许正在被使用,因此挂载之后系统也许有的程序不能正常工作。可以写入/etc/fstab,这样重启后也有效。

2./etc/fstab文件来修改/dev/shm的容量(增加size=100M选项即可),修改后,重新挂载即可:

[root@bys3 ~]# cat /etc/fstab

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

tmpfs /dev/shm tmpfs defaults,size=600M 0 0

tmpfs /tmp tmpfs defaults,size=25M 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

LABEL=SWAP-sda3 swap swap defaults 0 0

/dev/sda5 swap swap defaults 0 0

[root@bys3 ~]# mount -a --测试/etc/fstab无错误,重启OS系统

[oracle@bys3 ~]$ df -h --重启后的信息如下,tmpfs文件系统的对应条目已经改变为配置的

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 16G 10G 4.7G 69% /

/dev/sda1 99M 21M 74M 22% /boot

tmpfs 600M 0 600M 0% /dev/shm

tmpfs 25M 0 25M 0% /tmp

3./dev/shm建一个tmp目前,并与/tmp绑定。 --这方法有点烦琐,不如方法1方便快捷。

[root@bys3 ~]# mkdir /dev/shm/tmp

[root@bys3 ~]# chmod 1777 /dev/shm/tmp

[root@bys3 ~]# mount --bind /dev/shm/tmp /tmp -注意mount --bind 这里bind前是两个-

[root@bys3 ~]# ls -ld /tmp

drwxrwxrwt 2 root root 40 Dec 8 12:15 /tmp

[root@bys3 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 16G 10G 4.7G 69% /

/dev/sda1 99M 21M 74M 22% /boot

tmpfs 600M 0 600M 0% /dev/shm

tmpfs 600M 0 600M 0% /tmp ----可以看到/tmp使用到了 /dev/shm的空间。

上面就是Linux使用tmpfs的方法介绍了,本文除了介绍tmpfs的用途外,还介绍了调整tmpfs大小的三大方法,因为tmpfs不是块设备,需安装使用。

oracle使用tmpfs,在Linux上使用文件系统tmpfs的技巧相关推荐

  1. oracle的安装liunx,linux上oracle简单安装

    当前位置:我的异常网» Linux/Unix » linux上oracle简单安装 linux上oracle简单安装 www.myexceptions.net  网友分享于:2013-07-27  浏 ...

  2. 第5章 Linux上管理文件系统

    5.1 机械硬盘 机械硬盘由多块盘片组成,它们都绕着主轴旋转.每块盘片上下方都有读写磁头悬浮在盘片上下方,它们与盘片的距离极小.在每次读写数据时盘片旋转,读写磁头被磁臂控制着不断的移动来读取其中的数据 ...

  3. Linux上管理文件系统

    1 机械硬盘 机械硬盘由多块盘片组成,它们都绕着主轴旋转.每块盘片上下方都有读写磁头悬浮在盘片上下方,它们与盘片的距离极小.在每次读写数据时盘片旋转,读写磁头被磁臂控制着不断的移动来读取其中的数据. ...

  4. oracle 10客户端配置文件,Linux上Oracle 10g客户端的安装和配置

    需要在Linux 上访问Oracle,所以要装个客户端.参考了网上很多资料,但总会半路卡壳.根据自己实际的操作,写了下面的操作手册, 需要在Linux 上访问Oracle,所以要装个客户端.参考了网上 ...

  5. linux系统的文件系统tmpfs,linux里tmpfs文件系统

    App 卸载记录 http://blog.csdn.net/jiangwei0910410003/article/details/36427963 总结:没有root权限的情况下,还是使用Intent ...

  6. Linux 知:文件系统

    文章目录 1. 前言 2. 文件 2.1. 一切皆文件 2.2. 文件属性 2.3. 目录结构 2.4. 文件路径 3. 文件系统 3.1. 文件系统种类 3.2. 文件系统特性 3.2.1. 格式化 ...

  7. 如何恢复 Linux 上删除的文件

    转自:http://blog.csdn.net/chinalinuxzend/article/details/2591694 如何恢复 Linux 上删除的文件 来源:developerWorks 中 ...

  8. 如何恢复 Linux 上删除的文件:ext2

    要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的,以及如何定位并恢复数据.本文从数据恢复的角度,着重介绍了 ext2 文件系统中使用的一些基本概念和重要数据结构,并通过几个实例介绍了如何手工 ...

  9. linux的虚拟文件系统二(数据结构)

    1.概念 从本质上讲,文件系统是特殊的数据分层存储结构,它包含文件.目录和相关的控制信息.为了描述 这个结构,linux引入了一些基本概念: 文件 一组在逻辑上具有完整意义的信息项的系列.在Linux ...

最新文章

  1. c语言里的多参数吗,C语言中不定参数的实现
  2. 在linux系统下把多个终端合并在一个窗口
  3. mysql多启动与日志调优
  4. 计算机网络:浅谈HTTPS和加密
  5. 内置函数、匿名函数,递归函数
  6. Android 自定义注解(Annotation)
  7. Django学习之十一:真正理解Django的路由分发和反解url原理
  8. 《大数据》2015年第3期“网络大数据专题”——基于特征学习的文本大数据内容理解及其发展趋势...
  9. 编写一个脚本,用它来操纵QTP的运行
  10. docker dead but pid file exists 问题
  11. Openpyxl:读取/写入Excel文件的Python模块
  12. 突破封锁的浏览器_零的突破!重庆第一台全国产电脑到底长什么样?
  13. static关键字(pass)
  14. c语言延时函数(c语言延时函数delay用法)
  15. 不借助 vue-cli 工具自行搭建 vue 项目
  16. 计算机视觉论文-2021-03-31
  17. jsp怎样写一个Button onclick事件
  18. 网站被降权的6种处理方法
  19. Android设置Button字母大小写
  20. Python中inplace、subset参数的意义

热门文章

  1. 新概念三册笔记-01
  2. Eureka集群配置
  3. Android 骁龙Camera拍照流程梳理
  4. 分布式系统关注点(12)——「无状态」详解
  5. 8 个长寿的免费网络硬盘
  6. html标签logo图片怎么添加上去的
  7. 可以SE,vmp过强壳检测的硬件级虚拟机--virtualbox/vbox超能版 去虚拟化
  8. 胡图图的学习日志一呀
  9. 万水千山阻挡不了我学习
  10. 编程心灵鸡汤-程序员除了技术的提高,软实力也很重要24条建议