Linux系统下提示磁盘空间满,但实际占用却很小

本文介绍了一次在Ubuntu 14.04 x64系统中遇到的磁盘空间满的问题,通过使用lsof命令发现被删除但仍被进程占用的文件导致磁盘空间显示异常,最终通过杀死相关进程解决问题。

Linux系统下提示磁盘空间满,但实际占用却很小

        因为公司放在测试服务器上的服务比较多,磁盘经常性会满。以前满过几次,因为时间比较赶,每次只是草率的删掉一点log或者临时文件,到今天早上又发生一起事故,依然是磁盘空间满,看了一下好像没什么东西可以删了,才静下心来慢慢研究解决。

系统:Ubuntu14.04 x64 
磁盘名称:/data
磁盘空间:200G

错误描述:

    今早发现磁盘空间满,服务数据写不进数据库中,使用du -h --max-depth=1命令查看大文件,发现文件只占100G,然而使用df -h 命令查看时,磁盘用了200G占用了百分之一百。其中100G的空间莫名其妙就没有了

解决方法:

    用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象。可以通过命令 lsof |grep deleted 来进行查看


把这些进程删掉就可以了,批量杀死进程命令

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

期间可能会等一段时间,等杀完后,重新 df -h 查看,磁盘空间多出来了87G



最后记得!!!!

        把服务重启一下!!!因为杀掉进程的时候,某些文件进程是apache或者mysql的,所以会连带着把他们也一起删掉了,千万记得查看一下服务是否还在运行,如果服务不在了,要手动开一下!
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值