我使用 Gentoo Linux,目前正在将我的/usr/portage
(portage 的数据库,包含数千个小型 ebuild 文件)、/var/tmp/portage
(portage 的编译目录)和/var/tmp/ccache
(编译器缓存目录)移动到 reiserfs。这些目录对性能很敏感,当 portage 计算软件包依赖关系和编译软件包时,会访问和写入数千个小文件。
将目录重定向到新文件系统的最快方法是什么?由于系统将符号链接解析为文本,因此使用符号链接会造成巨大的性能损失吗? mount bind 会更好吗?
答案1
Mount --bind
应该比符号链接更快。
如果你mount -B /mnt/portage /usr/portage
阅读/usr/portage
将给你的i-node /mnt/portage
,它应该像普通目录一样快地工作。
解析符号链接的速度取决于链接路径中的组件数量,因此对于/usr/portage
链接到/mnt/portage
它的路径将需要三个额外的 i 节点读取和两次目录搜索。
我怀疑您会注意到这些方法之间的任何区别,除非您确实经常使用这些文件系统。