我在 CentOS 虚拟机上运行一项作业,该作业使用数万个临时文件。这导致 I/O 成为该作业快速运行的主要瓶颈。临时文件的总大小相当大,可能会超过可用 RAM。
因为作业是在虚拟机上运行的,而且所有文件都是临时的,所以我不关心任何可靠性。如果电源故障,虚拟机无论如何都会被销毁。如果某个进程崩溃,虚拟机无论如何都会被销毁。不会有超过一个进程访问这些文件。此外,这些文件永远不会被删除 - 虚拟机在运行结束时会被销毁。
在我看来,我不需要现有文件系统的大多数功能(日志记录、锁定、位图),但我确实需要基本的文件系统特性。我的问题是,哪个文件系统最适合提供最基本的文件系统功能,而不需要所有的花哨功能?理所当然的是,这样的文件系统也会显著提高性能,因为它不必处理所有这些事情。
注意:不幸的是,我没有写这个作业,我无法控制它的临时文件行为。
答案1
如果您可以忍受其大小等限制,ext2 是 Linux 中最基本的系统。您可能会发现更基本的系统(minix?)但我并不推荐它们,因为它们太古老了。顺便说一句,如果您能负担得起,请为缓存提供大量内存,甚至只使用 ramdisk。