原 prometheus中被deleted的数据文件句柄没有释放导致磁盘空间暴涨
现象
有一个Linux主机,部署了Prometheus,但是基本每隔1个月,2T的磁盘就会被撑爆,通过df
和du
找不到占用空间大的文件。
对于这类情况,一般都是deleted的文件导致。
在Linux中,如果一个文件被删除但仍然被某个进程打开,那么在lsof
命令的输出中,该文件会显示为(deleted)
标记。这意味着虽然文件已被删除,但进程仍然在使用它。通常情况下,删除文件后,磁盘空间不会立即释放,直到所有打开文件描述符关闭或进程退出为止。
这种情况下,文件在文件系统中的目录项已被删除,但文件仍然存在于磁盘上,只是无法通过文件名访问。这种情况下,文件的数据不会被真正删除,直到所有使用该文件的进程关闭。