034Linux磁盘空间未释放并且在不能重启情况下最佳处理方法

Linux磁盘空间未释放并且在服务器和程序不能重启时处理方法:
之前遇到的磁盘df -h 和du -sh * 查看文件大小结果不一致,发生这种情况的原因一般有两种:

1.有隐藏文件

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

解决思路:

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

 

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

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

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

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

posted @ 2023-03-17 14:45  arun_yh  阅读(166)  评论(0编辑  收藏  举报