快速业务通道

优化linux文件系统 提高读写速度

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-15

  最近在做了个烧写电子盘的东西.突然查到的.毕竟是自己第一次知道,摘抄记录.

  1,块大小的优化 块意为最小的存储单位

  假设:Block size 1K

  每个分区被格式化后,都会创建很多块

  如果一个文件有4K,要使用4个块

  即使一个块不到1K,但也会使用1个块

  假设:Block size 4K

  如果一个文件有4K,只使用1个块

  即使一个块不到4K,也会使用1个块,直到填满才使用下一个块

  这样我们就可以看到一个现象,如果你的文件很大,而数据块很小,这个文件就会被分割成很小的很多块,这样分割的时间和寻址的时间都会花费比较多的时间,相反如果数据块大点就会减少相应的时间!但并非块越大越好!如果你的块大小4K,而你的文件只有1K,这样就会浪费3/4的空间,这样就要根据时间情况来判断.

  Mkfs.ext3 –b 1024 /dev/sdb2

  每个数据块大小为1024个字节

  如果要增加数据块的大小

  Mkfs.ext3 –b 4096 /dev/sdb2

  (-b 后面的大小默认只有1024,2048,4096)

  2,节点块的优化

  在我们读写数据的时候,所有的数据都要写进数据块里面,在数据块寻址的时候都是根据数据块的编号来找的,假设有4个数据块分别为1,2,3,4,如果一个文件file1占用了1,2两个数据块,那么会在索引区里分配2个节点,当读取file1的时候就会读取2个节点,如果我们把2个数据块合并一起,就可以提高读取速度,file1只需要寻一次址就可以了,

  - i 表示节点使用多大的数据块

  Mkfs.ext3 –b 4096 - i 8192 /dev/sdb2

  每一个数据块代表4096,每2个数据块编一个号,4096*2=8192

  这样可以对大文件寻址的速度加快

  或者Mkfs.ext3 –b 4096 - i 4096 /dev/sdb2

  一个数据块编一个号

  实例对比可以使用tune2fs –l /dev/sdb2 |more 查看

  Inode count节点的编号

  Block count块的编号

  看看2种命令的区别

  3,保留块的优化

  保留块-为管理员保留的磁盘管理空间,默认为总数据块的5%,这部分空间只能管理员占有.

  使用:Mkfs.ext3 –b 4096 - i 8192 –m 2 /dev/sdb2

  设置保留块的数量占总数的百分比为2

  举例比较:

  Mkfs.ext3 –b 4096 - i 8192 –m 5 /dev/sdb2

  Mkfs.ext3 –b 4096 - i 8192 –m 2 /dev/sdb2

  使用tune2fs –l /dev/sdb2

  查看 reserved block count:数量的不同

  这样对于大硬盘空间的使用会节约很大一部分空间(3%)

  4)tune2fs 调整ext2/ext3文件系统特性的工具

  -l 〈device> 查看文件系统信息

  -c <count>设置强制自检的挂载次数

  使用tune2fs –l /dev/sdb2查看maximum mount count 默认是27次,每挂载一次mount conut就会加1,超过次数就会强制自检

  使用tune2fs –c -1 /dev/sdb2

  设置负1就可以避免

  当然也可以手动自检,使用fsck

  -I <n day>设置强制自检的间隔时间

  使用tune2fs –l /dev/sdb2查看check interval 默认是6months

  使用tune2fs –c -1 -i 0 /dev/sdb2

  设置为0

  -m <percentage>保留块的百分比

  -j 将ext2 文件转换为ext3格式

  不会破坏文件数据的格式转换命令参数.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号