从Linux ramdisk服务html

我已经看到一个有点过时的教程,build议用这样的ramdisk提供html文件:

mkfs -q /dev/ram1 102400 

我也发现另一个使用这样的东西的来源:

 mount -t tmpfs -o size=1024 none /mnt/rds 

这两种方法同样有效吗? 我正在使用nginx的Centos 6.3。 所以在实践中,我想从RAM中提供/usr/share/nginx/html的文件。

而且,如果我安装了磁盘,每次在原始文件夹中有真正的更改时,是否必须重新安装?

从你的问题(最后一段),我假设你认为ramdrive将具有与原始文件系统相同的内容。 事实并非如此。 你将有一个空目录,需要先填写它。 我不认为这是你想要的。

Linux有一个非常好的caching系统。 每个不用于应用程序内存的内存页面将被用作caching。 这意味着:即使没有tmpfs(我build议的方法),你的文件也会留在内存中,直到真正需要从那里刷新。

鉴于这真的发生,你的记忆变得太满了:

  • 如果你使用tmpfs,你的tmpfs会移动到你的交换内存,也就是说,它也保存在磁盘上,不会比使用真正的文件系统更快。
  • 如果你不使用tmpfs,你的caching版本将被刷新内存,这几乎不会消耗时间。 当下次访问时,它将从磁盘读取并返回到caching中。

所以我没有看到任何使用tmpfs的好处,只要你不dynamic生成这些文件,并在很短的时间间隔。 如果让Linux决定内存使用和交换,Linux通常会高效得多。

何必? Linux只是将它们caching在RAM中,第一次从磁盘读取。 如果他们经常阅读, 他们将永远被caching 。

tmpfs方法的开销较less。 在/ dev / ram1的例子中,你有一个完整的文件系统,包含存储在块设备中的inode,目录等。 使用tmpfs它实质上只是磁盘caching。

是的,如果您创build一个虚拟磁盘并将文件复制到其中,则需要在发生更改时再次复制这些文件。

不用说使用RAM磁盘是一个好主意:我记得阅读了一篇文章(不幸的是没有URL)关于基准testing两种RAM磁盘,令人惊讶地显示出相关的差异(我忘了哪个更好)。