aix么把占用的端口释放掉_空间不足,找不到占用文件......

本文介绍了在AIX系统中遇到根目录空间不足的问题,通过du、lsof等命令排查,发现是由于data1目录被重新挂载后,原有文件未被释放导致的空间占用。通过kill进程和umount解决这一问题,强调在mount目录前务必确保目录为空。

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

1.问题背景

        有台刚到手没多久的服务器根目录报空间不足,登录服务器后发现空间确实不足,但用各种方式都找不到占用空间的文件。

2.问题排查

根目录下包含了所有目录,但有些目录是单独挂载,不会占用根目录的系统盘空间。

主要先确认未挂载盘的目录占用空间情况。执行命令查看

#shell> du -ah -x --max-depth=1 /

5d094aca79eca72d02d45a9b693fa917.png

e3ebd80346b7e0c6de7af250f364dbbc.png

显示占了17G左右,du命令显示只占了4.3G空间,额外的12G多空间不知道被什么占用了.

接下来检查是否有删除的文件空间未释放,通过lsof命令查看,查看结果需要过滤掉有单独挂载盘的目录。命令如下:

#shell> lsof|grep deleted|grep -v  -E 'xxx|yyy'

d4f4788076782c07013b22ab0b5359e1.png

结果发现也无删除文件未释放空间,接下来检查是否inode已经用满导致,执行命令:

#shell> df -i

3145000d119981b118dff486b48e07df.png

inode剩余充足,也不是inode导致。问题排查到这,没其他招了。

突然想起这台服务器给我的时候data1盘重新挂载过,会不会是这个原因导致的。为了验证这个想法,先把占用data1的进程都杀掉,然后把data1目录磁盘umount掉。

#shell> lsof|grep '/data1/'|awk '{print "kill -9 "$2}'|bash && umount /data1 

此时再检查磁盘使用状况:

00c8aabf1ff731fefff1ecd36c898c6c.png

发现占用12G多空间的文件找到了,清理后重新mount磁盘到/data1目录,发现空间占用是预期的4.3G,空间问题得到解决。

a0c0cf45e71843fc65ca4682ab49e074.png

总结:如果mount的目录下存在文件,那么目录被mount之后,之前的文件会被隐藏,不属于该挂载文件系统,du及其他命令也无法查到。生产环境中,mount目录之前一定要确认目录为空,否则可能导致一系列头疼的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值