inode使用率过高的解决方法

本文记录了一次因程序日志输出导致inode资源耗尽的问题排查过程,分享了使用不同命令逐步定位问题所在目录的方法,并对比了rsync、find结合xargs rm以及ls-f|xargs-n1rm-rf三种删除大量文件的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

周末因为一个鸟程序的日志每条都疯狂输出到一个文件,直接把inode塞满了。记一下排查方法和删除大量文件所做的一些措施。

  1. 问题排查
for i in /*; do echo $i; find $i | wc -l; done

首先使用上面的这条命令一步步缩小范围,确定在哪个目录下inode的节点数过多异常。
最后我锁定到了日志目录,可是里面只有几个日志文件,在目录下直接运行这条命令也只能看到可见文件的inode数,在上一级目录却发现inode数为200多万。
在目录下运行ls -f命令发现有大量的隐藏文件,所以对这些文件需要进行删除操作。

  1. 文件的删除
    (1)很多人在博客上写用rsync这条命令。新建一个空文件夹,然后使用rsync进行同步并删除,使用之后inode的确被释放出来了,可是速度真的慢。并不像网上说的快的一批。大概一秒也就删了十个左右的文件。运行了好久没啥用。
    (2)使用find之后接上xargs rm -f,这个比起rsync还是快一点。
    *可是等上面的命令运行结束之后,文件夹里还是有文件,但是怎么都删不掉了。
    ls -f 显示memory exhausted,rm -rf ./运行一会儿就被killed了。

    (3)最后使用ls -f | xargs -n 1 rm -rf 这条命令进行了删除,速度看起来比之前的命令都更快一点。

所以我真的不知道为什么rsync并没有那些博客里说的那么快,可能我输入命令时的姿势不够正确吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值