生产环境一台服务器磁盘使用率达到百分之90,出现告警,但是通过du -sh |sort -h 看到实际使用空间并没有那么多,如下图显示vda3已经使用空间90G,实际所有目录共使用78G左右,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放

image-20250516101813935

image-20250516102026680

接着我们通过lsof命令查找运行中的进程占用已经删除的文件(僵死文件。这些文件实际上已经被删除,但是有服务程序在使用这些文件,导致这些文件一直被占用,无法释放磁盘空间,使用如下命令可以查看死文件占用情况),使用命令

lsof | grep delete |sort -nrk 7|more
sort -nrk 7是将已经删除的文件进行大小排序

image-20250516102103165

同一个文件被多个 nginx worker 占用。重启nginx将此文件彻底释放即可。

results matching ""

    No results matching ""