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 所以可能任会存在磁盘被占用的情况,只有该进程所在服务重启进程被杀死才会完全释放
标签:文件,释放,034Linux,deleted,重启,PID,磁盘空间,进程 From: https://www.cnblogs.com/itcomputer/p/17226775.html