发布于: 2022-07-13 09:25:34

系统:Centos 64位 
磁盘名称:/data
磁盘空间:200G

错误描述:

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

解决方法:

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

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

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

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

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

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


最后记得!!!!

        把服务重启一下!!!因为杀掉进程的时候,某些文件进程是apache或者mysql的,所以会连带着把他们也一起删掉了,千万记得查看一下服务是否还在运行,如果服务不在了,要手动开一下!


延伸阅读
    发表评论