/var/log 错误地显示已使用 100% 空间

/var/log 错误地显示已使用 100% 空间

在我们的一些服务器上/var/log,这是一个单独的 ext4 分区,显示 4.8G 空间的 100% 已被使用。但实际上它占用了大约 200M 的磁盘空间。应用程序仍然可以将日志写入目录。这个错误的原因可能是什么?

其他信息:
Debian 版本:9.9
Inode 使用 1%

答案1

这通常发生在您删除已打开的文件时。假设您有一个大文件,并且有一个进程正在写入它,然后您删除了它 - 空间仍然被占用,直到文件被关闭,因为进程无法收到文件已被删除的通知。

首先,您需要找到导致问题的进程 - 尝试一下lsof | grep deleted,现代 Linux 会告诉您。如果没有 - 使用lsof查找目录中未列出的打开文件。

其次,您需要刷新进程,通常 kill -HUP 会有所帮助,文件应该会重新打开。如果没有帮助,请重新启动相应的服务。

下次您需要释放空间时,请使用truncate --size 0 aaa.log> aaa.log。这将截断文件,但使其保持完整。

相关内容