[关闭]
@gy-ban 2016-12-04T08:26:58.000000Z 字数 539 阅读 1326

linux删除文件后,如何释放磁盘空间

技术


最近在清理一台服务器日志的时候,发现用rm命令删除文件之后,硬盘容量并没有变化,删除的文件大概有10G左右,然后使用du -sh命令之后,还是原来的大小。这就很奇怪了,google之后才发现另有原因。

在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用

使用命令lsof进行查看

  1. [bhuser@boohee-qa log]$ lsof | grep delete
  2. ruby 6787 bhuser 7w REG 253,2 236179162 4852433 /home/apps/light/shared/log/qa.log (deleted)
  3. ruby 16456 bhuser 7w REG 253,2 236179162 4852433 /home/apps/light/shared/log/qa.log (deleted)
  4. ruby 16688 bhuser 7w REG 253,2 236179162 4852433 /home/apps/light/shared/log/qa.log (deleted)

然后将该进程kill掉即可。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注