|
|
1
72
重新启动tomcat,如果文件正在使用中并且您将其删除,则该过程完成后,空间将可用。 |
|
2
23
正如其他人所建议的那样,该文件可能仍被其他进程打开。要找出哪些,你可以做
它为您列出了流程。也许你会在那个列表中找到tomcat。 |
|
|
3
10
您的问题:可能是正在运行的程序仍在保留该文件。 您的解决方案:根据这里的其他答案,您可以简单地关闭tomcat以阻止它保留文件。 如果这不是一个选项,或者你只是想了解更多细节,请查看这个问题: Find and remove large files that are open but have been deleted -它建议了一些更严厉的方法来处理它,这可能对你的情况更有用。 更多详细信息:linux/unix文件系统认为“打开的”文件是它们的另一个名称。rm从目录树中删除文件中的“名称”。在关闭句柄之前,文件仍然有更多的“名称”,因此文件仍然存在。文件系统在完全未命名之前不会获取文件。 这可能看起来有点奇怪,但这样做可以实现一些有用的事情,比如启用符号链接。Symlinks基本上可以被视为同一文件的替代名称。 这就是为什么总是将你的语言称为close()是很重要的 如果您已完成此操作,请在文件句柄上显示。这会通知操作系统该文件不再被使用。 虽然有时这无法避免 -Tomcat很可能就是这种情况。提到 Bill Karwin's Answer 阅读原因。 根据文件系统的不同,这通常被实现为一种引用计数,因此可能不涉及任何真实姓名。如果像stdin和stderr这样的东西被重定向到一个文件或另一个字节流(最常见的是通过服务完成的),也会变得很奇怪。 整个想法与“ inodes 所以,如果你是好奇的人,我建议你先去看看。 讨论它不再那么好用了,但你过去可以更新整个操作系统,使用新的库启动一个新的http守护进程,最后在没有更多客户端使用它时关闭旧的守护进程(释放旧的句柄)。http客户端甚至不会错过任何一个节拍。 基本上,你可以完全清除运行程序的内核和所有“底层”库。但是,由于旧副本的“名称”仍然存在,因此该文件仍然存在于该特定程序的内存/磁盘中。然后,这将是重新启动所有服务等的问题。虽然这是一个高级使用场景,但这也是为什么一些unix系统有多年正常运行时间的原因。 |
|
|
4
9
重新启动Tomcat将释放Tomcat对文件的任何保留。但是,为了避免重新启动Tomcat(例如,如果这是一个生产环境,您不想不必要地关闭服务),您通常可以覆盖该文件:
甚至更短、更直接:
在故障排除或磁盘清除过程中,我一直在使用这些方法清除当前运行的服务器进程的日志文件。这会使索引节点保持不变,但会清除实际的文件数据,而试图删除文件通常要么不起作用,要么至少会混淆正在运行的进程的日志写入器。 |
|
5
6
正如FerranB和Paul Tomblin在这个线程上指出的那样,文件正在使用中,在文件关闭之前,磁盘空间不会被释放。
问题是,您无法发出关闭Catalina进程的信号
有两种解决方案可以防止将来发生这种情况:
|
|
|
6
6
最好的解决方案是使用'echo'(作为@ejoncas'建议):
此操作非常安全和快速(每秒删除约1G数据),特别是在生产服务器上操作时。 不要简单地使用'rm'删除此文件,因为首先你必须停止写入它的进程,否则磁盘将无法释放。 请参考: http://siwei.me/blog/posts/how-to-deal-with-huge-log-file-in-production 更新了我故事的起源2013年,当我在优酷网工作时,周六,我发现一台核心服务器宕机,原因是:磁盘已满(有日志文件)
所以我很简单
所以我必须重新启动我的web服务器(Rails应用程序),磁盘空间终于被释放了。
这对我来说是一个非常重要的教训。它告诉我
|
|
|
7
3
如果某个文件仍处于打开状态,则该文件实际上不会消失。您可能需要以某种方式向catalina发送信号,以关闭并重新打开其日志文件。 |
|
|
8
3
如果有第二个指向该文件的硬链接,那么在删除之前,它不会被删除。 |
|
|
9
2
输入命令以检查哪些已删除的文件已占用内存
它将显示仍保留内存的已删除文件。 然后用pid或name终止进程
现在检查一下,你会有同样的记忆 如果没有,请键入以下命令以查看哪个文件占用了内存
提及任何大小,它将显示哪些文件占用了阈值大小以上的空间,并删除该文件 |
|
10
-2
rm是否已记录/安排?尝试使用“sync”命令强制写入。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 11 月前 |
|
|
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 11 月前 |
|
|
Marco · PyCharm Linux系统文件上os.stat异常 1 年前 |