可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I've a process which is using too much memory.
When I run lsof -p <pid> the output is :
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 ...
What DEL mean? It could be that the process has the file in memory but It has been deleted by any other process?
回答1:
lsof usually reports entries from the Linux /proc/<PID>/maps file with mem in the TYPE column. However, when lsof can't stat(2) a path in the process maps file and the mapsfile entry contains (deleted), indicating the file was deleted after it had been opened, lsof reports the file type as DEL.
Yes, Simply those files are deleted after they are read by the process. If you have updated/replaced those files then you probably want to restart the service/process.
回答2:
It could be that the process has the file in memory but It has been deleted by any other process?
Yes, or by the same process.