zoukankan      html  css  js  c++  java
  • Block小结

    • 磁盘读取数据是按block为单位读取的。
    • 一个文件可能占用多个block;但是每读取一个block就会消耗一次磁盘I/O。
    • 如果要提升磁盘IO性能,那么就要尽可能一次性读取数据尽量的多读
    • 一个block只能存放一个文件的内容,无论内容有多小;如果block默认是4K大小,那么存放一个1K的文件,剩余3K就不能存放别的文件,只能浪费了。
    • block并非越大越好,block太大对于存放小文件就会浪费磁盘空间,例如:1000K的文件,block为4K,占用250个block,如果消耗block为1K,占1000个block;消耗IO分别为250次和1000次
    • 根据业务需求大文件,确定默认的block大小,如果是大文件(大于16K)一般设置block大一点,小文件(小于1K)一般设置block小一点。
    • block太大例如4K,文件都是0.1K的,大量浪费磁盘空间,但是访问性能高
    • block太小例如1K,文件都是1000K,消耗磁盘IO
    • block的大小设置也是格式化分区的时候确定的,mkfs.ext4 -b 2048 -I 256 /dev/sdb
    • 企业里文件都会比较大(一般会大于4K),block设置大一些会提升磁盘访问效率。
    • ext3/ext4文件系统(centos5和6),一般设置为4K

    •  磁盘被分区格式化文件系统后会分为inode和block两部分内容
    •  inode存放文件的属性以及指向文件实体的指针,文件名不在inode里,一般在上级目录的block。
    •  访问文件,原理通过文件-->inode-->block。
    •  inode一般情况默认大小256B,block大小1 2 4K,默认是4K注意引导分区等特殊分区除外
    •  通过df -i查看inode的数量及使用情况,dumpe2fs /dev/sda3查看inode及block的大小及数量。
    •  一个文件至少要占用一个inode及一个block
    •  一个block只能被一个文件使用,如果文件很小block很大,剩余空间浪费无法继续被其他文件使用
    •  block不是越大越好要根据业务文件的大小进行选择,一般就是默认4K
    •  可以在格式化的时候改变inode及block的大小
    • 硬链接具有相同的inode指向同一个block,软连接只是源文件的快捷方式,指向源文件的路径

  • 相关阅读:
    H264解码的一个測试程序
    padding与margin的差别
    CreateProcess的使用方法
    eclipse设置快捷键sysout+Alt+/后出System.out.println!亲測可用!
    crm操作权限
    LeetCode Decode Ways
    epoll使用具体解释(精髓)
    一位Erlang程序猿的自白
    用JAVA写一个函数,功能例如以下: 随意给定一组数, 找出随意数相加之后的结果为35(随意设定)的情况
    liveness 生存性/活性
  • 原文地址:https://www.cnblogs.com/Confusedren/p/9784649.html
Copyright © 2011-2022 走看看