我想知道是否杀死了删除过程,有时可以帮助我们清除lsof中许多已删除文件的内存缓存,那么杀死它们是否可以提供更多的可用内存?
例子:
lsof | grep delete
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/42/gvfs
Output information may be incomplete.
cupsd 1619 root 10r REG 253,0 2979 38250477 /etc/passwd+ (deleted)
gnome-set 5731 gdm 14r REG 253,0 65536 51102558 /etc/pki/nssdb/cert8.db;5c644c01 (deleted)
gnome-set 5731 gdm 16r REG 253,0 16384 51197440 /etc/pki/nssdb/key3.db;5c644c01 (deleted)
pool 5731 5795 gdm 14r REG 253,0 65536 51102558 /etc/pki/nssdb/cert8.db;5c644c01 (deleted)
kill 1619
我们担心被删除的进程是否占用内存
我们也可以看到以下情况:
lsof | grep deleted | wc -l
3421
通常,进程会明确创建和打开文件,然后直接删除它们,以便可以更安全地使用该文件,并确保在进程结束时删除该文件。
简而言之,这是一个功能。尤其是问题中显示的文件。终止这些进程将干扰系统的运行。
在某些情况下,删除的文件仍处于打开状态可能是一个错误(例如,某个进程正在写入日志文件,但是该日志文件已被压缩和删除,而没有发出重新打开该日志文件的信号)。您可以通过/proc/
文件系统截断此类文件:lsof
如上所示找到文件描述符号,然后执行> /proc/12345/fd/123
截断文件的操作(12345是进程ID,123是文件描述符号。但是,这很少是必需的。
请注意,不会删除进程,仅删除了引用这些文件的目录条目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句