使用lsof命令,查看哪些已被删除的文件还在被进程占用,导致磁盘空间无法释放。
解决办法:将占用文件的进程停止再启动,磁盘空间就可以释放。
问题现象
磁盘已使用空间达到了90%。
![](https://img-blog.csdnimg.cn/img_convert/936698b8cc5fea0a98b5f3eb5e33cc22.png)
但目录实际大小并没有达到df -h显示的那么大。
![](https://img-blog.csdnimg.cn/img_convert/dd39630c07563a34c9bf0252af7fb027.png)
判断:有些文件已经被删除,但是目前还是被服务器上的进程占用着,导致空间无法释放。
问题解决:lsof查看被删除文件被占用情况
lsof | grep delete
![](https://img-blog.csdnimg.cn/img_convert/e87c8ab43de3e506da822fd097ff9848.png)
查到是nginx进程占用着一些已被删除的日志文件。将nginx停止再启动后,磁盘空间得到释放。