美文网首页
Linux系统下提示磁盘空间满,但实际占用却很小(解决方法)

Linux系统下提示磁盘空间满,但实际占用却很小(解决方法)

作者: 无味wy | 来源:发表于2022-06-17 17:58 被阅读0次

    因为公司放在测试服务器上的服务比较多,磁盘经常性会满。以前满过几次,因为时间比较赶,每次只是草率的删掉一点log或者临时文件,到今天早上又发生一起事故,依然是磁盘空间满,看了一下好像没什么东西可以删。
    错误描述:
    发现磁盘空间满,服务数据写不进数据库中,使用du -h --max-depth=1命令查看大文件,发现文件只占40G,然而使用df -h 命令查看时,磁盘用了170G占用了百分之一百。其余的空间莫名其妙就没有了

    24ec76e3d9f126a1d87807bced38dcd.png
    用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象

    注意:使用此方法后关联服务会被杀掉,因为杀掉进程的时候,某些文件进程是apache或者mysql的,所以会连带着把他们也一起删掉了,千万记得查看一下服务是否还在运行,如果服务不在了,要手动开一下。 对服务器业务不熟悉者需谨慎操作!!

    解决方法:

    #进行查看
    lsof |grep deleted
    
    9b30f80a150f2f8d86225a20a41d5c5.png
    #批量杀死进程
    lsof |grep delete | grep -v grep | awk '{print $2}' | xargs kill -9
    

    期间可能会等一段时间,等杀完后,重新 df -h 查看,磁盘空间释放

    e9f8986afd6a248819bd87af7398621.png

    相关文章

      网友评论

          本文标题:Linux系统下提示磁盘空间满,但实际占用却很小(解决方法)

          本文链接:https://www.haomeiwen.com/subject/zmjhvrtx.html