转载来源:http://www.linuxidc.com/Linux/2013-12/93747.htm

  • tmpfs介绍

  tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化
  它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。
  linux下面VM的大小由RM(Real Memory)和swap组成,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 资源。

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

  关于SWAP的增加详见:  点击打开链接 http://www.linuxidc.com/Linux/2013-12/93746.htm

  • tmpfs有没有缺点呢?
    当然有,由于它的数据是在VM里面,因此断电或者你卸载它之后,数据就会立即丢失,这也许就是它叫tmpfs的原故。不过这其实不能说是缺点。那tmpfs到底有什么用呢?
  • 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的空间。转载

【服务器环境搭建-Centos】tmpfs,【转载】相关推荐

  1. 环境搭建-CentOS集群搭建

    环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...

  2. lux系统服务器安装后多大,服务器环境搭建

    框架使用: maven的setting文件修改 运行环境配置:dev 服务器环境搭建: 一.docker安装 1.卸载旧版本 sudo yum remove docker ​ docker-clien ...

  3. python服务器环境搭建(2)——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  4. Debian6 / 7 Web服务器环境搭建LNMP一键安装包 | 问题汇总与解答

    Debian6 / 7 Web服务器环境搭建LNMP一键安装包 | 问题汇总与解答 欢迎使用中遇到什么问题,在此专篇提问,一定有问必答. 转载于:https://blog.51cto.com/jimm ...

  5. LAMP服务器环境搭建及工程部署

    LAMP服务器环境搭建及工程部署 这篇文章是我之前讲的环境搭建和项目部署视频讲解的文字版本,由于之前直播录屏的时候没有空闲的服务器进行搭建,所以没有详细的截图等可以展示. 现在刚好我手头有一台vps刚 ...

  6. 腾讯云主机Ubuntu之服务器环境搭建以及宝塔面板安装

    腾讯云主机Ubuntu之服务器环境搭建以及宝塔面板安装 我也是第一次使用Ubuntu服务器,所以遇到很多问题,在这里记录一下 1.云服务器购买 建议新手选择快速配置,因为自定义配置里面有自己选择很多参 ...

  7. python服务器环境搭建_python服务器环境搭建(2)——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  8. win2003系统服务器搭建,最新版WIN2003系统服务器环境搭建教程.doc

    最新版WIN2003系统服务器环境搭建教程 ==================================================================== 新网合租特此说明: ...

  9. 基于阿里云服务器环境搭建到项目上线系列文章之三——安装git

    基于阿里云服务器环境搭建到项目上线系列 前言:最近购买了域名和一台阿里云服务器准备做点东西放上去,所以准备把环境搭建到项目上线的过程记录下来,计划一个系列6篇文章 基于阿里云服务器环境搭建到项目上线系 ...

最新文章

  1. 假设检验_python 重点
  2. Python常用函数与技巧总结(三)
  3. 老板问我桌面演练(TTX)是什么,我直接给他发了定义、示例和目标
  4. linux下fdisk分区工具的使用
  5. android singleinstance home,Android启动模式之singleinstance的坑
  6. Liferay –简单主题开发
  7. php免费根据ip查城市,根据ip获取城市的方法
  8. win10下安装SQLServer2005
  9. 大楼通信综合布线系统_综合布线系统设计方案时需要注意的事项
  10. yum安装ruby_Centos安装ruby
  11. 微信支付全部详细流程
  12. 深度操作系统20.6发布!
  13. 【沙龙干货】Swift是花拳绣腿吗?开发语言与职业生涯如何选择?
  14. 使用c语言编程首先要新建,【C语言编程入门系列】—— 第三章,编写第一个C语言程序!...
  15. 【阅读笔记】Towards Efficient and Privacy-preserving Federated Deep Learning
  16. 蓝奏云(Lanzou网盘下载链接无法打开的解决方法
  17. 小朋友,你是否有很多问号???——听不懂的安全名词
  18. PHP intval() 和 (int) 转换的区别
  19. python另存为快捷键_Python学习之pycharm的快捷键大全
  20. ★一名“标题党”自我修炼的10大技巧

热门文章

  1. 手机怎么安装py thon_Python计数器– Py​​thon集合计数器
  2. Java面向对象:对象的概念及面向对象的三个基本特征
  3. 开课吧课堂-Java面试题:面向对象的特征有哪些方面?
  4. boost准模板库内存管理中pool和object_pool的使用
  5. Codeforces Round #280 (Div. 2) D. Vanya and Computer Game 二分
  6. java的JDK配置
  7. WIN7系统一个盘分多个盘的方法
  8. VS2008中 没有QT的代码智能提示
  9. 一个学习Python的好链接
  10. 台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2)