解决inode占用过多

前言:
某台服务器inode满了,好久没有处理过相似问题了,有点忘记,记录在此node

1、理解inode

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

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

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

也就是说每一个文件都须要记录这些元信息,也必然会占用inode,所以inode占用过多,多数是小文件太多致使操作系统

2、查找哪里占用inode

知道了inode占用可能是文件多致使以后,那么只须要找到哪些目录下小文件过多,而后删除便可code

1.查看哪一个盘占用inode
df -ih
clipboard.png索引

2.进入该挂载目录,而后经过wc -l统计哪些占用多
clipboard.png
clipboard.png
clipboard.pngcrontab

3.能够看到是/var/spool/postfix/maildrop下不少小文件
clipboard.pngip

3、解决

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

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

而后查看,发现inode节点占用已经很低了
clipboard.png

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

相关文章
相关标签/搜索