tmpfs是一种基于内存的文件系统,

tmpfs有时候使用rm(物理内存),有时候使用swap(磁盘一块区域)。根据实际情况进行分配。

rm:物理内存。real memery的简称? 真实内存就是电脑主板上那块内存条,叫做真实内存不为过。

swap:交换分区。是硬盘上一块区域

tmpfs最大可使用的大小为什么是rm+swap。

SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.  它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

疑惑:window操作系统经常叫的虚拟内存和linux操作系统中的交换分区(swap)有什么区别?

一听说,虚拟内存,我常常就知道含义了。因为在学校使用window,我们可以自己设置虚拟内存的大小。可以随时调。实际上虚拟内存就是window系统下的一个这样的文件,如下:

每次看到交换分区,就一时不知道什么东西了。

现在整理一下

实际上,在window系统上叫做虚拟内存。而在linux操作系统的概念中叫做交换分区。实际上本质都是一样,都是虚拟内存。

后来看资料说,两个操作系统对于什么时候使用虚拟内存,是不同的。明显,linux的性能更好。

window平时也会使用虚拟内存。而linux只有在内存不足的时候才会用到虚拟内存?

原理基本都是一样的 区别就是windows即使物理内存没有用完也会去用到虚拟内存而Linux不一样。

​Linux只有当物理内存用完的时候才会去动用虚拟内存(即swap分区)这就是两者的区别。。。

  1. windows的虚拟内存是电脑自动设置的

Linux的swap分区是我们装系统的时候分好的区,大小是固定了的(难怪叫做交换区,把它当成一个分区的概念了)

看设计思想的不同:

Linux 只不过是把交换文件设计为可以用分区而已,Linux 也可以用文件的。他们的区别就是实现方式不同而已。
Windows 的虚拟内存文件好处是可以动态变动大小,这个归系统自己管理的。

Windows 的虚拟内存设置默认好像是 50%-100% 内存在 C 盘上动态分配。Linux 没有这个自动的设计,但分区时安装程序会根据习惯自动分区出一个适合大小的 SWAP 分区。

Windows 的虚拟内存交换文件坏处是混在系统分区里面使用,文件碎片问题和容量变动问题都会影响交换文件的效率,Linux 因为是独立的分区,所以没有文件碎片和容量变动的问题。

Windows 其实也可以借用 Linux 的 SWAP 理念,单独分一个分区,只用来放 Windows 的虚拟内存交换文件。

总结:虚拟内存和交换分区,本质都是同一个东西,都是解决内存不够用时候,把硬盘当内存来使用。怎么个使用机制,window和linux稍微有不同。

tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。即使用了一些交换分区,性能仍然是卓越的,当更多空闲的 VM 资源可以使用时,这部分 tmpfs 文件系统会被移动到 RAM 中去。让 VM 子系统自动地移动部分 tmpfs 文件系统到交换分区实际上对性能上是好的,因为这样做可以让 VM 子系统为需要 RAM 的进程释放空间。这一点连同它动态调整大小的能力,比选择使用传统的 RAM 磁盘可以让操作系统有好得多的整体性能和灵活性。

我可以这么理解:tmpfs是一种文件系统,这种文件系统的特殊性在于,其有时候使用ram,有时候使用vm(虚拟内存,磁盘上的交换分区)

mount -t 文件类型 -o option  哪个设备  挂节点

mount  -t tmpfs -o size=20m  tmpfs  /mnt/tmp

  1. mount tmpfs /dev/shm -t tmpfs -o size=32m

设备:就是将哪个设备挂接到linux某个目录去。这里是将tmpfs设备挂接到 /mnt/tmp中去。

这样操作/mnt/tmp目录实际上就是操作tmpfs设备了。

tmpfs为什么变成一个设备了呢?

vm子系统做管理工作。虚拟内存。

参考光盘文件的挂接加深理解:

光盘镜像文件的挂接(mount)
 #mkdir /mnt/vcdrom
 注:建立一个目录用来作挂接点(mount point)

#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
 注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。

可以这里理解挂节点:linux上的一个目录,就是挂节点,要把一个设备挂接到挂节点上。

tmpfs:一种基于内存的文件系统的更多相关文章

  1. tmpfs临时文件系统,是一种基于内存的文件系统

    在Linux系统内存中的虚拟磁盘映射,可以理解为使用物理内存当做磁盘,利用这种文件系统,可以有效提高在高并发场景下的磁盘读写,但是重启后数据会丢失. 1.查看tmpfs路径 (系统默认开启,大小约为物 ...

  2. Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化

    转自:http://blog.csdn.net/wh_springer/article/details/51842496 近十年来,随着Hadoop生态系统的不断完善,Hadoop早已成为大数据事实上 ...

  3. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  4. RDD:基于内存的集群计算容错抽象(转)

    原文:http://shiyanjun.cn/archives/744.html 该论文来自Berkeley实验室,英文标题为:Resilient Distributed Datasets: A Fa ...

  5. RDD:基于内存的集群计算容错抽象

    转载自:http://shiyanjun.cn/archives/744.html 摘要 本文提出了分布式内存抽象的概念--弹性分布式数据集(RDD,Resilient Distributed Dat ...

  6. Spark 介绍(基于内存计算的大数据并行计算框架)

    Spark 介绍(基于内存计算的大数据并行计算框架)  Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持 ...

  7. 《SPARK/TACHYON:基于内存的分布式存储系统》-史鸣飞(英特尔亚太研发有限公司大数据软件部工程师)

    史鸣飞:大家好,我是叫史鸣飞,来自英特尔公司,接下来我向大家介绍一下Tachyon.我事先想了解一下大家有没有听说过Tachyon,或者是对Tachyon有没有一些了解?对Spark呢? 首先做一个介 ...

  8. 高性能、高容错、基于内存的开源分布式存储系统Tachyon的简单介绍

    Tachyon是什么? Tachyon是一个高性能.高容错.基于内存的开源分布式存储系统,并具有类Java的文件API.插件式的底层文件系统.兼容Hadoop MapReduce和Apache Spa ...

  9. 【转】Spark是基于内存的分布式计算引擎

    Spark是基于内存的分布式计算引擎,以处理的高效和稳定著称.然而在实际的应用开发过程中,开发者还是会遇到种种问题,其中一大类就是和性能相关.在本文中,笔者将结合自身实践,谈谈如何尽可能地提高应用程序 ...

随机推荐

  1. fir.im Weekly - 一切从知识重构开始

    一年之计在于春,大自然开始了新元素的重构.你的知识库是否也该重构更新呢? 本期 fir.im Weekly 包含最新的Android.iOS 开发工具.源码和好玩的UI 动画分享,希望对你有用. Sw ...

  2. ES2005 js =>

    ES2005 js => 不会写js Learn ES2015

  3. 最简单的SVN环境搭建过程

    本文简单描述最简单的SVN环境搭建过程 搭建环境:windows (个人验证了windows2003,windows xp) 使用软件:Setup-Subversion-1.6.17  //Serve ...

  4. 《BI那点儿事》数据挖掘初探

    什么是数据挖掘? 数据挖掘(Data Mining),又称信息发掘(Knowledge Discovery),是用自动或半自动化的方法在数据中找到潜在的,有价值的信息和规则. 数据挖掘技术来源于数据库 ...

  5. 基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

    最近一直很多事情,博客停下来好久没写了,整理下思路,把最近研究的基于Metronic的Bootstrap开发框架进行经验的总结出来和大家分享下,同时也记录自己对Bootstrap开发的学习研究的点点滴 ...

  6. Unity3D UNet网络组件详解

    UNet常见概念简介 Spawn:简单来说,把服务器上的GameObject,根据上面的NetworkIdentity组件找到对应监视连接,在监视连接里生成相应的GameObject. Command ...

  7. 机器学习&数据挖掘笔记_18(PGM练习二:贝叶斯网络在遗传图谱在的应用)

    前言: 这是coursera课程:Probabilistic Graphical Models上的第二个实验,主要是用贝叶斯网络对基因遗传问题进行一些计算.具体实验内容可参考实验指导教材:bayes ...

  8. Anliven - 如何逼疯你的小伙伴

    如果你也曾为某人某事"发疯发狂,懵逼连连". . 无礼:随意牵扯他人,不了解实际情况,却对他人工作横加点评甚至是指责. 无知:自我感觉良好,自己总是最正确最合理的,除了自己,没人会 ...

  9. web前端学习笔记(CSS固定宽度布局)

    一.单列布局: 这是最简单的一种布局方式,之所以给出该示例,还是为了保证本篇博客的完整性. <html xmlns="http://www.w3.org/1999/xhtml" ...

  10. 电路相关知识--读<<继电器是如何成为CPU的>>

    电路相关知识–读<<继电器是如何成为CPU的>> */--> *///--> *///--> 电路相关知识–读<<继电器是如何成为CPU的> ...