rm删除文件后磁盘仍然占用

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

你可能感兴趣的:(Linux)