我已经检查了用户 kpiserv 的结果
[kpiserv@***** ~]$ lsof -u kpiserv |wc -l
5358
[kpiserv@***** ~]$ ulimit -a
open files (-n) 1024
为什么lsof
报告的用户打开文件数量高于 ulimit 规定的允许数量?
答案1
打开文件限制是每个进程的。用户可以有多个进程,FD 总数可以大于打开文件限制。
来自 setrlimit(3) 手册页:
RLIMIT_NOFILE
指定一个比该进程可以打开的最大文件描述符数大 1 的值。尝试(open(2)、pipe(2)、dup(2) 等)超过此限制会产生错误 EMFILE。