linux磁盘/占用100%,找回linux丢失的磁盘空间

问题描述:最近一台服务器出现无法写入,其中一个客户的网站无法上传文件。


   使用 df -h 查看,网站目录www是单独挂载的磁盘,占用50%,无异常,发现20G的/目录占用100%左右。随后进入根目录使用du -sh * 查看所有加起来也就10G不到。

   丢失的一半空间去哪了?

   询问过了朋友,同时也在网上搜索了一下,发现可能的原因如下:

   磁盘文件删除后,但是原先对应写文件的进程还在,仍然抓着那个文件,在往里面写数据,空间继续被他耗用,同时删除后的空间得不到释放,du 命令也看不到这个文件占用的空间。


   使用 lsof | grep deleted 查找被删除的文件,果然发现一个巨大的日志文件

   在外面kill掉写这个日志文件的进程,发现磁盘空间一点一点被释放回来了

   重新运行进程,发现日志也被正常写入。如果你有重启服务器的权限,重启服务器也可以恢复正常,但不建议重启操作。


   建议:在清理服务器日志的时候,尽量选择清空日志,而不要直接删除日志文件。进程占用的日志如果被删除,就容易出现这种情况。


Last modification:January 1st, 1970 at 08:00 am

Leave a Comment