15AH, San Francisco

California, United States.

Send Your Mail At:

tianyingkejishe@sina.cn

Working Hours

Mon-Sat: 9.30am To 7.00pm

分类标题

Autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et dolore feugait.

分类归档 文件系统

【文件系统】ramFs

一、简介:

     ramfs是Linux下一种基于RAM做存储的文件系统。在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储效率。由于ramfs的实现就相当于把RAM作为最后一层的存储,所以在ramfs中不会使用swap。你什么时候听过会把HDD上的文件swap到哪里去吗?平常说的swap都是针对内存来说的,而ramfs底层的存储是RAM,虽然不是HDD,但是在Linux看来它就跟HDD一样。但是ramfs有一个很大的缺陷就是它会吃光系统所有的内存,即使你mount的时候指定了大小,同时它也只能被root用户访问。测试方法很简单:

sudo mount -t ramfs -o size=10M ramfs ./ramfs/

sudo dd if=/dev/zero of=./ramfs/test.file bs=1M count=20

测试时你会发现上面这个操作是能成功的,或者你再自己虚拟机上干脆做狠点,直接写一个比内存更大的文件,你会发现瞬间系统就卡主了。另外在dd命令如果不以root用户执行就会权限不够:

dd: opening `./ramfs/test.file’: Permission denied

二、测试:

    使用工具

    (1)  树莓派 官方镜像 

  (2)putty 进行 登录, 并操作

    Note: 本实验直接采用的是 root 用户进行登录实验
  1. 登录 Linux 系统;
  2. 准备 一个10M的文件;

3. 创建一个测试目录并将测试目录挂载到虚拟内存

  1. 将10M的文件多次传入, 观察内存变化

(1) 未操作前的内存 free 的大小、buff/cache 的大小

(2) 三次拷贝10M的文件进挂载的目录时 free 的大小变化,buff/cache 的大小变化

(3) 删除掉之前拷贝的三个10M文件之后 free 的大小变化, buff/cache 的大小变化

三、综上:

 ramfs 使用时, 无论设置的大小为多大, 在内存充足的情况下, 是可以无限放置文件的, 本例中设置大小为1M, 放置文件总大小为30M, 以此可见, 使用大小的管理需要自行控制...

Note:

 另外本人还试过

  (1)  输入大于内存的文件, 结果系统无响应了, 但是IP还是能够扫描到

  (2) 当使用过程中 available 还可以被 应用程序 使用的物理内存大小 一直没变化过, 当free降为0时available开始发生变化, 并且逐步降为0时系统无响应