我有
Linux服务器,我有一个备用的500GB磁盘分区.我想格式化它并将其用于/ tmp.服务器偶尔会运行一些大型数据处理任务,因此可能会发生/ tmp将保存GB的临时数据.
然后我有了一个想法,相反我可以将其添加为交换分区,并将/ tmp挂载到tmpfs.这个想法合理吗?
服务器有6GB的RAM,因此在大多数情况下/ tmp上的数据只能在RAM中,具有明显的速度优势.问题是,如果在/ tmp上有10-20GB的数据会怎样,系统将如何执行?简单地将/ tmp挂载到ext4分区相比,性能会是什么?感谢帮助.
编辑:很明显,当tmpfs的使用达到RAM限制时,系统将开始交换内存.但Linux是否足够智能交换tmpfs数据并在RAM中保留“常规”数据?如果是,那么我认为它可以表现得相当合理.如果没有,那么整个系统将受到严重影响.
解决方法
这不是一个好主意.
你可以使用像这样安装的大/ tmp分区(来自你的/ etc / fstab)
tmpfs /dev/tmp tmpfs defaults,nosuid,nodev,noexec,noatime,nodiratime,size=6000M 0 0
您可以将外部驱动器添加为巨大的交换分区
/dev/sdb1 swap swap defaults 0 0
当达到极限时,您的机器将开始将页面从RAM交换到磁盘 – 此时,平均负载将通过顶部,机器将停止运行.
以任何方式依赖SWAP是一个坏主意,你最好卖掉你的500GB硬盘,只需购买更多的RAM – 它便宜.
综上所述
如果你真的想要使用你的500GB磁盘,你可以在/ tmp上使用非日志文件系统安装500GB磁盘,并禁用atime和diratime(例如ext2).这比处理SWAPing的机器快得多