分页: 1 / 1

《NetBSD指南-18.8.2.memfs&softdeps》

发表于 : 2010-03-05 14:19
leo
经常是只修改很少的配置就可能让一个操作系统受益 (但这些修改同时也可能会导致系统受到极大的损害).
两个特例是通过使用基于内存的文件系统memfs和/或soft update可以改善系统性能.

18.8.2.1. 使用 memfs
在多用户系统中何时使用或不使用基于内存的文件系统有时很难抉择。但是有些情况下, 使用它的效果很好,
例如, 在一台同时只有一个开发者使用的机器中将 obj 目录设置为基于内存的文件是很好的, 或者将一些临
时构建时使用的文件目录设置为基于内存的文件系统. 这种情况下, 在具有相当大内存的计算机上效果很好。
另一方面, 如果系统只有16MB内存,而且又将 /var/tmp 设置为基于内存的文件系统memfs, 这就会引起应用
程序出现问题。

GENERIC内核默认开启了memfs选项。 要将之应用在特定的目录上,swap是你的首选, 本例中, 快速看一下
/etc/fstab 我们可以知道 /dev/wd0b 是swap分区:

代码: 全选

mail% cat /etc/fstab
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/kern /kern kernfs rw
这个系统是一个邮件服务器,所以我只想在 /tmp 目录使用memfs, 我还将这个系统上的 /tmp 链接到
/var/tmp 以节省空间 (它们在同一个驱动器上). 我需要做的仅是添加下列选项:

代码: 全选

/dev/wd0b /var/tmp mfs rw 0 0
现在, 有个警告, 当你挂载这个内存文件系统时请先确保这些目录是空的,并且没有其它的程序在使用这
些目录! 这时我们既可以mount -a 也可以重新启动.

18.8.2.2. 使用softdeps
Soft-dependencies 是一个机制,它不马上向磁盘上写meta-data, 但它会以一个有序的方式写入, 这样可
以保证文件系统一致。

要启用Soft-dependencies,需要向 /etc/fstab 内的文件系统选项上添加softdep. 我们看一个
/etc/fstab实例:

代码: 全选

/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw 1 2
/dev/wd0f /tmp ffs rw 1 2
/dev/wd0g /usr ffs rw 1 2
假设除了 / 分区,我们想在所有的文件系统上启用 soft-dependencies , 我们可以改成这样 (修改的地方用粗体强调):

代码: 全选

/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw,softdep 1 2
/dev/wd0f /tmp ffs rw,softdep 1 2
/dev/wd0g /usr ffs rw,softdep 1 2

更多有关softdep性能的详述请参看 作者主页.