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

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分区)这就是两者的区别。。。

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

 

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上的一个目录,就是挂节点,要把一个设备挂接到挂节点上。

 

 

 

转载于:https://www.cnblogs.com/wangtao_20/p/4828432.html

Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率。同时可以减少内存冗余,GC时间等。        特性:类 Java 的文件 API兼容性:实现 Hadoop 文件系统接口可插入式的底层文件系统内建 Raw 原生表的支持基于 Web 的 UI 提供命令行接口Tachyon 架构:与 HDFS 的比较:        Hadoop足够快吗?美国加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快的版本Tachyon。AMPLab从底层重建了Hadoop平台,“没有最快,只有更快”。        AMPLab在大数据领域最知名的产品是Spark,它是一个内存中并行处理的框架,Spark的创造者声称:使用Shark运行并行处理Job速度要比MapReduce快100倍。又因为Spark是在内存运行,所以Shark可与Druid或者SAP's HANA系统一较高下。Spark也为ClearStory下一代分析和可视化服务提供处理引擎。如果你喜欢用Hive作为Hadoop的数据仓库,那么你一定会喜欢Shark,因为它代表了“Hive on Spark”。       AMPLab的最新目标就是Hadoop分布式文件系统(HDFS),不过HDFS在可用性和速度方面一直受人诟病,所以AMPLab创建了Tachyon( 在High Scalability上非常夺目,引起了Derrick Harris的注意)。       当然,AMPLab并不是第一个对HDFS提出质疑的组织,同时也有很多商业版本可供选择,像Quantcast就自己开发了开源文件系统,声称其在运行大规模文件系统时速度更快、更高效。诚然,AMPLab所做的工作就是打破现有商业软件的瓶颈限制。如果碰巧破坏了现状,那么就顺其自然吧!不过,对于用户来说,AMPLab只是为那些寻找合适工具的人员提供了一种新的选择,AMPLab的合作伙伴和赞助商包括谷歌,Facebook,微软和亚马逊网络服务,它们当然非常乐意看到这些新技术,如果很有必要的话。       AMPLab的其他项目包括PIQL,类似于一种基于键/值存储的SQL查询语言;MLBase,基于分布式系统的机器学习系统;Akaros,一个多核和大型SMP系统的操作系统;Sparrow,一个低延迟计算集群调度系统。Tachyon可运行在如下任意平台上: 标签:分布式  文件系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值