ubuntu目前支持很多文件格式,有很多是日志形式的,日志的确是好东西,有了它就有了很高的安全性。但是日志同样带来了一些性能的问题,大家都知道现在很多时候电脑的瓶颈在I/O,而且特别是笔记本电脑,硬盘转速不高,这方面的问题更严重,所以我准备了一个解决这个问题的方法,但是前提是这个方法会降低硬盘数据的安全性,所以请好好考虑过在利用。
第一部分预备知识
首先我们的优化真对于reiserFS和ext3,他们都有三种日志模式:
journal日志模式
日志中记录包括所有改变文件系统的数据和元数据。它是三种日志模式中最慢的,但它将发生错误的可能性降至最小。使用journal模式要求系统将每个变化写入文件系统2次、写入日志1次,这将降低文件系统的总性能,但它的确是使用者最心爱的模式。由于记录了在文件系统中元数据和数据更新情况,当一个系统重新启动的时候,这些日志将起作用。
ordered日志模式
仅记录改变文件系统的元数据,且溢出文件数据要补充到磁盘中。这是Ubuntu缺省的日志模式。这种模式降低了在写入文件系统和写入日志之间的冗余,因此速度较快,虽然文件数据的变化情况并不被记录在日志中,但它们必须做,而且由系统的守护程序在与之相关的文件系统元数据变化前执行,即在记录元数据前要修改文件系统数据,这将稍微降低系统的性能,然而可确保文件系统中的文件数据与相应文件系统的元数据同步。
writeback日志模式
仅记录改变文件系统的元数据,但根据标准文件系统,写程序仍要将文件数据的变化记录在磁盘上,以保持文件系统一致性。这是速度最快的日志模式。因为它只记录元数据的变化,而不需等待与文件数据相关的更新如文件大小、目录信息等情况,对文件数据的更新与记录元数据变化可以不同步,即异步的日志。缺陷是当系统关闭时,更新的数据因不能被写入磁盘而出现矛盾,这一点目前尚不能很好解决。
而我调整磁盘性能的出发点就从这个writeback开始,我们需要把ext3或者reiserFS的日志模式修改下,这个修改是可能带来隐患的,再次提醒大家,做得时候想明白。(不过其实你不经常断电的话,就没有什么问题,linux有不会死机,你让他正常关机,就没有任何问题)
第二部分正式开工
sudogedit/etc/fstab
添加几个参数在你的fstab里面
添加前:
/dev/hda7/reiserfsdefaults01
添加后:
/dev/hda7/reiserfsdefaults,data=writeback01
保存之后,去修改内核参数
sudogedit/boot/grub/menu.lst
在你需要的内核的参数后面加上一句:
kernel/vmlinuz-2.6.16.16root=/dev/hda7roquietsplashrootflags=data=writeback
这样的话每次你更新内核这句加上去的话就会自动被抹掉,所以你可以采用下面的方法在另外两行加上这句话
#nonaltoptions=quietsplashrootflags=data=writeback
#altoptions=(recoverymode)singlerootflags=data=writeback
这样再运行:
sudoupdate-grub
就会为每一内核加上需要的参数,而且升级内核以后也会自动增加。
现在如果你使用的是reiserFS那么基本上已经ok了,但是如果是ext3你还需要作下面的事:
sudotune2fs-ojournal_data_writeback/dev/hda1
然后检查下他是否正常工作了
sudotune2fs-l/dev/hda1
第三部分一点补充设置
日志还会不停的记录上次写文件的时间,这个特性我从来没有用到过,所以我建议关掉它,性能会有微弱的提高
还是修改fstab:
sudogedit/etc/fstab
然后在刚才的参数上加入noatime:
/dev/hda7/reiserfsdefaults,noatime,data=writeback01
第四部分体验下
如果使用笔记本的话重启一次就会有很明显的提高了,如果是速度7000转的高档硬盘可能也没有必要干这个事情,不过调整日志模式,即使是使用最慢的journal模式也还是会有丢失数据的危险,所以正确的当的使用电脑还是一个要点,请大家慢慢尝试。
在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化在Ubuntu中对文件日志系统进行优化
阅读(416) | 评论(0) | 转发(0) |