linux inode使用率过高,解决inode占用过多

前言:

某台服务器inode满了,很久没有处理过类似问题了,有点忘记,记录在此

一、理解inode

要理解inode,要从文件存储说起,Linux系统文件在物理上都是存储在硬盘上面的,硬盘存储里面,最小存储单位是"扇区(Sector)",每个扇区存储512字节

操作系统在读取硬盘的时候不会一个一个读取扇区,这样效率很低,而是一次性连续读取多个扇区,多个扇区就组成了一个块(block),而这种由多个扇区组成的块,就是文件存储的最小单位,块的大小一般为4KB,也就是说8个扇区组成了一个block

文件信息存储在block中,如何找到这些block,以及怎么知道这些block存储了哪些内容,如文件的创建人、时间、大小等信息,这些信息又叫元数据,而这种存储元数据的区域就叫做inode,inode就是索引节点

也就是说每个文件都需要记录这些元信息,也必然会占用inode,因此inode占用过多,多数是小文件太多导致

二、查找哪里占用inode

知道了inode占用多是文件多导致之后,那么只需要找到哪些目录下小文件过多,然后删除即可

1.查看哪个盘占用inode

df -ih

bVbkAz1?w=561&h=68

2.进入该挂载目录,然后通过wc -l统计哪些占用多

bVbkAp1?w=530&h=43

bVbkAqe?w=454&h=35

bVbkAqE?w=262&h=37

3.可以看到是/var/spool/postfix/maildrop下很多小文件

bVbkAq8?w=833&h=412

三、解决

最简单的办法,是进入该目录,删除这些没用的小文件

cd /var/spool/postfix/maildrop && find -type f |xargs rm -f

然后查看,发现inode节点占用已经很低了

bVbkAAl?w=579&h=66

查到了/var/spool/postfix/maildrop目录下有大量小文件,原来是crond在执行脚本时会将保持信息以邮件的形式发送给crond用户,而环境的postfix没有正常运行,导致邮件发送失败,都会堆积在/var/spool/postfix/maildrop/目录中,要解决该问题,一是可以启动postfix,让邮件服务正常运行.另外还可以在/etc/crontab中修改配置MAILTO=""发送为空,这样就不会堆积了

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值