主机磁盘空间未释放问题在无法重启时,临时处理方法

之前遇到的磁盘df -h 和du -sh * 查看文件大小结果不一致,发生这种情况的原因一般有两种:

1.有隐藏文件

2.磁盘空间未释放(被删除的文件正在被进程使用,所以linux系统认为文件还存在,不对其空间进行释放

 

 解决思路:

lsof | grep deleted 找到未释放的进程,第7列字段为文件的大小,找出文件占用最大的进程${PID}(第二列)

  

 

 

 

 

/proc/${PID}/fd   这是个目录,包含当前进程打开的每一个文件的文件描述符

 

进入到/proc/${PID}/fd 然后 ll | grep deleted 找到对应的 描述符ID 然后 清空即可释放磁盘空间,

找到这种含deleted 软连接的 ,然后清空描述符ID

 

 

 

 

 

 

 

 echo " " > 4

 

 

 

 

注意: 该方法只是临时释放磁盘空间,进程并没有被kill 所以可能任会存在磁盘被占用的情况,只有该进程所在服务重启进程被杀死才会完全释放

posted @ 2019-08-21 10:22  rockstics  阅读(436)  评论(0编辑  收藏  举报