云计算工程师常见故障-002-文件删了磁盘空间没释放

故障表现

某天发现某台机器df-h已用磁盘空间为100G,而du-sh/*显示所有使用空间加起来才20G左右,囧。

原因分析

可能某人直接用rm删除某个正在写的文件,导致文件删了但磁盘空间没释放的问题
解决:
1)最简单重启系统或者重启相关服务。
2)干掉进程

/usr/sbin/lsof | grep  deleted  xxx.file

从lsof的输出中,我们可以发现pid为25575的进程持有着以文件描述号(fd)为33打开的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我们找到了这个文件之后可以通过结束进程的方式来释放被占用的空间:echo>/proc/25575/fd/33

删除正在写入的文件

删除正在写的文件一般用

cat /dev/null > file # 了解即可,不建议使用

或者如下的指令

> file
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐