大数据-玩转数据-Linux磁盘被占用找不到占用文件

本文档描述了一种Linux系统中根目录磁盘空间显示异常占用的场景,通过检查磁盘使用情况、目录占用、文件句柄等步骤,发现已删除文件仍被两个进程占用导致空间未释放。最终,通过重启或杀掉占用进程(iostat和zabbix-server)成功解决了问题,使磁盘空间恢复正常。
摘要由CSDN通过智能技术生成

一、问题点现象说明

1.1 查看磁盘使用情况(如下图),显示根磁盘空间已用‘56G’

[root@public46 ~]#df -h

在这里插入图片描述
1.2 查看各目录的磁盘占用情况

[root@public46 ~]#du -h --max-depth=1 /

在这里插入图片描述
从上图可以发现,除去/web目录,根目录也就用了10G左右的磁盘空间,为什么会显示已用‘56G’呢?

二、问题点排查

2.1 查看根磁盘空间的node节点使用情况:正常
在这里插入图片描述
2.2 查找根磁盘,大小>100M的文件(排除了“/web”目录):正常

[root@public46 ~]# find / -path "/web" -prune -o -size +100M \
-print0 |xargs -0 du -sh

在这里插入图片描述
参数说明:

-path “/web” -prune:排除了“/web”目录进行条件搜索

2.3 用‘lsof’命令检查进程的文件句柄情况:异常

[root@public46 ~]#yum -y install lsof

[root@public46 ~]#lsof -n / |grep deleted

112fe894a838ff4e4fed94937e7ce521.gif原因:上图可以发现,大量文件已经删除,但是有两个进程‘iostat’和‘zabbix-server’仍然占用着文件句柄,导致删除的文件的磁盘空间一直没有释放!

三、问题点解决

原因找到,问题就很好解决了,重启或者kill掉占用的进程即可

3.1 批量关闭iostat进程(如果只有一个进程,可以直接kill掉)

[root@public46 ~]#ps aux |grep iostat|gawk '{print $2}' |xargs kill -9

3.2 再次查看磁盘使用情况

[root@public46 ~]#df -h

463c550571e5eb302553cfb3c9a44ba9.png
磁盘空间使用情况已经恢复正常!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值