Linux:计算打开文件进程

我如何检查当前使用了多less个打开的文件?

检查PM2只是一个例子:

我发现PID:

ps aux | grep pm2 | awk '{ print $2 }' 

检查有65536个文件的限制

 # cat /proc/16305/limits | grep 'Max open files' 

最大打开文件65536 65536个文件

这个限制是通过systemd设置的:

 # cat /etc/systemd/system/pm2.service.d/nofile_limit.conf [Service] LimitNOFILE=65536 

我知道我可以检查基于用户打开了多less个文件:

 lsof -u UserName | wc -l 252 

PM2运行在不同的用户比PM2,当我检查该用户的限制这是可笑的小,所以这里有什么错误..

如果限制由systemd设置和pipe理,如何检查当前使用的打开文件数量?

当我写这篇文章时,我想到了,也许这可能是我自己的问题的解决scheme:

 lsof | grep ' userName ' | awk '{print $NF}' | sort | wc -l 2348 

你怎么看?