我想检查系统实际使用了多少个文件描述符:
file-nr的值由3部分组成:
1,已经分配的文件描述符数;
2,已经分配但未使用的文件描述符数;
3,内核最大能分配的文件描述符数
众所周知,在相应进程的/proc/$pid/fd 目录下存放了此进程所有打开的fd。
我想知道为什么和以下命令中的数字(占用的文件描述符)对不上?
lsof仅列出进程ID要获取有关线程的信息,您应该使用ps -eLf根据 man proc:
我会通过运行来计算打开文件描述符的数量:
结果是17270
让我们看看自启动以来分配了多少描述符:
Why there is an excess of number of file descriptors in /proc/[pid]/task/[tid]/fd over the number of allocated file handles in /proc/sys/fs/file-nr
I suppose that they are created by forked child processes
现在应该明了了,有些文件描述符可能不是本进程自己打开的,如通过fork()从父进程继承而来的。
Number of file descriptors: different between /proc/sys/fs/file-nr and /proc/$pid/fd
>
以上就是关于【fd】为什么 /proc/sys/fs/file-nr和 /proc/$pid/fd 文件描述符数量对不上全部的内容,包括:【fd】为什么 /proc/sys/fs/file-nr和 /proc/$pid/fd 文件描述符数量对不上、linux 中 fd 最大多少、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)