浅谈linux性能调优之三:分区格式化之前的考虑
有这么一种特殊情况可能在生产环境下发生:系统的某个ext3文件分区,当用户往此分区上写文件时,提示磁盘空间已满,但用df -h命令查 看时发现此分区磁盘使用量是60%,请分析出现这种情况是由什么导致的,答案是inode已经耗尽! 为什么呢 ? 给出一个ext*文件系统的结构图 在Linux中进行格式化必须考虑Block与inode,Block还好理解,它是磁盘可以记录的最小单位,是由数个扇区组成,所以大小通常为 n*512Bytes,例如4K。 那么inode是什么呢 ? Block是记录文件内容的区域,inode则是记录该文件的属性及其放置在哪个Block之内的信息。每个inode分别记录一个档案的属性与这个档案 分布在哪些datablock上(也就是我们说的指针,有的地方也叫索引编号)。 具体如下: ● inode 编号 ● 用来识别文件类型,以及用于 stat C 函数的模式信息 ● 文件的链接数目 ● 属主的 UID ● 最近一次访问的时间 ● 属主的组 ID(GID) ● 文件的大小 ● 文件所使用的磁盘块的实际数目 ● 最近一次修改的时间 ● 最近一次更改的时间 小结:inode两个功能:记录档案属性和指针所以,每个文件都会占用一个inode。当Linux系统要查找某个文件时,它会先搜索inode table找到这个文件的属性及数据存放地点