linux 删除文件 磁盘空间未释放

时间:2022-04-23 16:11:43

今天往服务器上上传文件,发现不能上传成功,后来试了别的文件夹,发现可以上传成功。怀疑是文件夹挂载 的硬盘被写满了。

利用命令查看磁盘空间:

df -lh
 

发现果然/usr 文件夹没有空间了,经排查后发现是tomcat 的日志文件过大,于是手动删除,发现文件还是上传不上去,

利用命令查看/usr 文件夹大小,

du -sh
发现文件夹只有3G多,可是查看磁盘空间,发现空间还是被占满。查询资料后发现是
linux系统惹的祸,如果一个文件被程序占用,表面上把这个文件删除成功了,实际上所占用的空间并没有被释放。

解决方法:

查看使用文件的进程

ps -aux | grep deleted
查看后发现是tomcat占用,网上提供两种解决方式,一种是直接kill 进程,一种是对文件重写,不停止进程,为了不影响服务运行,果断采用后一种,

echo "" > /删除的文件路径
就是对文件写入空值,

操作后发现失败,不能写入,因为磁盘空间被占用满了,没有一点剩余空间了,

没有办法,只好采用kill 掉进程的方法,重启服务。