linux – ramfs和tmpfs之间的性能差异

我需要为大约10 GB的数据设置一个内存存储系统,包括许多100 kb的单个文件(图像).将有大量的读取和相当周期性的写入(添加新文件,删除一些旧文件).
现在,我知道tmpfs的行为类似于常规文件系统,例如,您可以使用df检查空闲/已用空间,这是一个很好的功能.但是我很感兴趣ramfs是否会在IO操作速度方面提供一些优势.
我知道在使用ramfs时我无法控制消耗内存的大小,并且如果它完全消耗了可用RAM,我的系统可能会挂起,但在这种情况下这不是问题.

总结一下,我很感兴趣:
– 性能明智,速度更快:ramfs或tmpfs(也可能是为什么)?
– tmpfs什么时候使用交换空间?是否将已保存的数据移动到交换(为当前正在运行的其他程序释放RAM)或仅移动新数据(如果此时没有剩余空闲RAM)?

解决方法

我的建议:

在正常条件下测量和观察现实生活中的活动.

这些文件不太可能是所有需要的,并且始终从缓存中提供.但是有一个很好的工具叫做vmtouch可以告诉你在特定时刻缓存中的内容.您还可以使用它将某些目录或文件锁定到缓存中.所以看看经常使用后的样子.在这种情况下,不需要使用tmpfs和ramfs.

见:http://hoytech.com/vmtouch/

我想你会惊讶地发现最活跃的文件可能已经驻留在缓存中了.

就tmpfs与ramfs而言,没有明显的性能差异.存在运营差异.一个真实的用例是Oracle,其中ramfs用于允许Oracle管理RAM中的数据,而不存在交换风险. tmpfs数据可以在内存压力下换出.动态调整大小和修改设置也存在差异.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...