Linux tail -f 报错 No space left on device

问题:

执行tail -f  my_file 时报错:No space left on device

df -h 检查磁盘剩余空间,剩余空间都很充足;

df -i 检测iNode使用情况,剩余iNode也很充足;

参考这篇文章解决了问题 tail: cannot watch `/var/log/messages': No space left on device

即调大fs.inotify.max_user_watche

sudo vi /etc/sysctl.conf
# 若已有有fs.inotify.max_user_watches配置则将其调大,没有在在文件末尾新增一行:
fs.inotify.max_user_watches=65536

# 使得配置修改生效
sudo sysctl -p

确实解决了问题,但过了一段时间,问题又出现了,再次调大fs.inotify.max_user_watche=655360解决问题,but,又过了一段时间,问题又又出现了。。。。。。。

显然调大fs.inotify.max_user_watche并没有解决根本问题,继续查找资料,查找到这篇博客:如何解决Linux删除文件但是磁盘空间大小并没有释放的问题?_linux删除大文件之后df -h不变-CSDN博客

通过文章中提到的lsof | egrep "COMMAND|deleted" 命令查看,如下图所示,发现果然有大量的标记为deleted的文件占用了大量的NODE,kill -9 pid将这些进程杀死后,将fs.inotify.max_user_watche调小到65536,tail -f也不会报错了,问题完美解决~

lsof | egrep "COMMAND|deleted"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值