lsof FD 列等于DEL,什么意思?

lsof FD column equal to DEL, what does it mean?

我有一个使用过多内存的进程。

当我 运行 lsof -p <pid> 输出是:

ETL-GRIB 5981 root  DEL    REG    8,4          183633075 /tmp/icom/65516_GRIB/20150921220023_6796_YTXG23EGRR211800__ln_3857.shp
ETL-GRIB 5981 root  DEL    REG    8,4          183633059 /tmp/icom/65516_GRIB/20150921220023_6796_YTXG23EGRR211800__pl_3857.shp
...

DEL 是什么意思?可能是该进程在内存中有该文件,但它已被任何其他进程删除?

It could be that the process has the file in memory but It has been deleted by any other process?

是的,或者通过相同的过程。

lsof 通常报告来自 Linux /proc/<PID>/maps 文件的条目,在 TYPE 列中带有 mem。但是,当lsof不能stat(2)进程maps文件中的路径,并且maps文件条目包含(deleted)时,说明文件在它之后被删除了已打开,lsof 报告文件类型为 DEL

是的,只是这些文件在进程读取后被删除。如果你有 updated/replaced 这些文件,那么你可能想要重新启动 service/process.