菜鸟笔记
提升您的技术认知

inode占用率过高处理过程

晚上收到提告警超过1小时未关闭: 5级:/var;资源:10.10.xxx.xxx;inode使用率高;0.94[0.9];2019-07-17 17:04:39;B域-应用4A;网管告警Id:39500476

inode 节点使用率过高
查看节点占用情况  df -i 
目录文件句柄占用情况  lsof
遍历指定目录查看对应inode使用情况
for i in /var/*; do echo $i; find $i | wc -l; done

解决方法:删除无用的临时文件,释放inode。
查找发现 /var/spool/postfix/maildrop/ 目录下有很多0032DEC3这的文件。执行以下命令删除.
如果使用rm *,有可能因为文件数量太多而出现Argument list too long错误 ,可以执行以下命令删除
ls | xargs -n 9 rm -rf
如果现实inode占用率高,但是无文件现实可能是空文件太多,执行这条命令即可
原因:0字节的文件也会占用inode,应该也释放。
遍历寻找0字节的文件,并删除。
sudo find /目标目录 -type f -size 0 -exec rm {} \; 
删除后,执行df -i    inode 的使用量减少为19%,可以正常使用了。

占用数量:
ls -lt /tmp | wc -l 
4011517 
统计当前目录的文件个数  ls -lR|grep "^-" | wc -l