Tomcat清理日志文件无法立即释放磁盘空间

目录

问题

1. Linux下删除了Tomcat的日志文件,但是磁盘依然百分百占用
进入Tomcat目录,显示日志已经删除
Tomcat清理日志文件无法立即释放磁盘空间
查询磁盘空间依旧百分百占用
Tomcat清理日志文件无法立即释放磁盘空间
2. 杀死Tomcat进程后重启,成功释放空间
Tomcat清理日志文件无法立即释放磁盘空间

原因

通过上网查询

在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),
然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用
所以删除正在运行中Tomcat 的 logs时该文件正在被使用中,并不会释放磁盘空间。

不过查询到另外一种方法,
使用 echo " " > logs/xxx.log 通过这种方法,磁盘空间可以马上释放,同时进程可以继续向文件写入日志。
这种方法用于在线清理 Apache、Tomcat、Nginx 等 Web 服务产生的日志文件相当实用。

Linux不重启Tomcat清空catalina.out日志的几种方法