linux中inode使用率过高处理办法
2021/9/12 7:04:51
本文主要是介绍linux中inode使用率过高处理办法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前几天收到监控告警,说Inode节点空间不足,之前没处理过这种问题,所以记录一下处理过程,便于以后查阅。
Inode使用率高并不会影响系统正常运行和新文件的创建,但是当使用率达到100%的时候,此时虽然磁盘还有空间,也不能创建新的文件了。
这是因为,文件在存储到磁盘中的时候,会同时用到inode和block,inode保存文件属性信息,包括文件名,大小,权限,时间,存储位置等,而block中则保存实际的数据,
所以如果inode用完的话,即使磁盘还有空间也无法创建新文件了。
发生这种情况的原因一般是系统中小文件过多,占用了大量的inode节点,找到对应目录,删除一些文件就可以了。
说明:以下执行结果并不是真实告警值,只是操作举例。
1.查看磁盘分区和inode使用情况
df -h #查看磁盘分区使用情况 df -ih #查看inode节点使用情况
2.查找并删除临时文件
ll -rt /tmp | wc -l find /tmp -type f -exec rm {} \;
3.删除0字节的文件
find /home -type f -size 0 -exec rm {} \;
4.查找包含大量文件的目录并删除
for i in /*; do echo $i; find $i |wc -l; done for i in /var/*; do echo $i; find $i |wc -l; done
大概率在/var目录下的/var/spool中有大量文件,进入该目录查看
for i in /var/spool/*; do echo $i; find $i |wc -l; done
发现 /var/spool/postfix/ 目录下有大量文件,继续进入该目录查看
说明:/var/spool/postfix/ 下面生成那么多的文件是因为crontab定时任务导致的,定时任务执行后发送邮件告知联系人,但是发送失败就会在postfix下生成,所有就产生了这么多的垃圾文件。
for i in /var/spool/postfix/*; do echo $i; find $i |wc -l; done
可以看到,文件主要集中在/var/spool/postfix/maildrop目录下,进入该目录清除即可
执行rm命令直接删除,可能会报错参数列表太长,可以通过一下方式进行删除
ls | xargs -n 500 rm -rf #-n表示一次传递参数的个数
执行完之后,再次用 df -ih 查看Inode节点使用率,发现恢复正常。
这篇关于linux中inode使用率过高处理办法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南