文件删除,但是进程存活,导致占用Linux根目标空间爆满,使得服务器启动调用无效问题。

问题描述:

项目场景:在测试环境,服务正常启动,但是前端调用接口无响应。


原因分析:

因为最近服务器磁盘空间紧张,尤其是频繁的制作镜像,导致空间非常的不足,前端调接口服务的时候,接口是调了,但是后台没有反应,然后去看nacos,发现服务正常注册,去检查容器的使用状态,也是正常的,就证明服务没有问题,然后想着,经常存在磁盘空间不够导致服务出现问题。

查看 根目录所占用空间,发现  /dev/mapper/centos-root 目录下 已用100%,返回结果如下:

df -h

文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 3.8G 25M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 4.7G 46G 10% /
/dev/sdd 2.7T 48G 2.6T 2% /data3
/dev/sdb 2.7T 806M 2.6T 1% /data1
/dev/sdc 2.7T 89M 2.6T 1% /data2
/dev/sda1 1014M 206M 809M 21% /boot
/dev/mapper/centos-home 221G 92G 129G 42% /home
tmpfs 775M 0 775M 0% /run/user/0

一看果然如此。那没啥说的,清理磁盘空间吧。但是在查的过程中发现日志啥的都删干净了啊,为啥磁盘空间还是100%?发现/dev/mapper/centos-root被占满,清掉其他文件夹下面的文件后,清理出来的空间又被逐渐占满。
查了很多资料,最终发现是因为系统有文件被删除而进程还活着,从而造成还占用空间的现象。主要还是制作了太多镜像,虽然删除了,但好像进程还占用着。


解决方案:

使用lsof |grep delete查看对应的进程号;
使用 kill -9 进程号,杀掉对应进程即可。
下面是批量操作的命令:

lsof | grep delete | awk '{print $2}' | xargs kill -9

清理掉,发现  /dev/mapper/centos-root 下 已经释放掉多半空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值