rm删除文件后磁盘仍然占用
在Linux中,当我们使用rm删除大文件,但是如果有进程打开这个大文件,却没有关闭这个文件的句柄,那么Linux内核还是不会释放这个文件的磁盘空间,最后会造成磁盘空间占用100%,整个系统无法运行。
解决方法:
1、查看磁盘使用情况,磁盘占用率
df -lh
2、找到删除文件所在的分区,查看当前系统句柄未释放情况
lsof -n /opt | grep deleted
lsof | grep deleted
里边有进程号
3、kill 进程号
4、再次运行
lsof -n /opt | grep delete
查看是否还存在删除了但未释放空间的文件,应该没了。
5、再次运行df -lh查看空间是否已经释放了。
还有一种解决方式:(假设文件名为a.log)
1、清空文件内容
> a.log
2、删除该文件
rm -rf a.log