据了解,某些AMD64 Linux在大容量磁盘I / O下可能无法响应(请参阅Gentoo论坛:AMD64系统在磁盘访问期间缓慢/无响应(第2部分) ),不幸的是有这样的一个。
我想把/var/tmp/portage和/usr/portage树放到一个单独的分区,但是select什么FS呢?
要求:
* for journaling, performance is preffered over safe data read/write operations * optimized to read/write 10000 of small files
候选人:
* ext2 without any journaling * BtrFS
在Phoronixtesting中, BtrFS已经certificate了一个很好的随机存取性能(比XFS更好的脂肪,因此它可能不太积极)。 然而,在XFS的情况下,拆包操作似乎更快,但经过testing,将内核树拆包到XFS使得我的系统对于任何renice'd进程和/或调度程序忽略掉51%的反应。
为什么没有ReiserFS? Google的这个(q:reiserfs ext2 cpu): 1 Apr 2006 ... Surprisingly, the ReiserFS and the XFS used significantly more CPU to remove file tree (86% and 65%) when other FS used about 15% (Ext3 and ...现在是否一样?
Ext4,Btrfs,Reiser4,Reiser3(带Notail选项)。 XFS吸收元数据密集型操作(如大量文件)。
你并不需要logging这些目录(因为它们可以很容易地恢复),所以不pipe你select哪个文件系统,你都可以禁用日志logging。
当我使用Gentoo时,我使用了ReiserFS 3作为/ usr / portage。 原因很简单:速度非常快,当处理大量非常小的文件时,与其他文件系统相比,它节省了大量空间。 (当然,使用“notail”选项会消除这个好处)我注意到随着时间的推移,文件系统的性能会下降。 这是因为在/ usr / portage上有非常频繁的写入/删除操作,不pipe你使用什么文件系统,一段时间之后,碎片会让它变慢。 所以有时候我只是从/ usr / portage中取了一个targz,重新格式化了这个分区,然后再把这个targz解压到这个分区上……这样就给你一个没有碎片的新的/ usr / portage。
我不知道我现在是否仍然会使用ReiserFS ..我可能会去ext4(禁用日志)或ext2。
关于/ var / tmp / portage …如果你有足够的ram,你可能想把它映射到tmpfs。 这样,它会尽可能地使用ram,但是当数据不适合ram的时候就去交换。
与其他操作系统相比,Ext2相当慢,它可能也有很多文件的问题。 我强烈build议不要使用它 – ext4与journalling off是完全不同的水壶。
就我个人而言,我倾向于使用Reiserfs来创build一个有很多小文件的文件系统 – 它专门针对这种操作进行了优化。 但我主要工作与networking服务器 – 访问是主要读/只(我使用ext4数据库)。 它使用CPU的速度并不是什么大不了的 – 实际上,更高的CPU将是一个非常好的指标,即实现完成操作所需的实际文件I / O更less!
查阅原文 – 您所引用的评论特别涉及大文件的行为 – 我不是Gentoo的专家,但我相信这与portage无关。