使用包含标志SIGCHLD |的clone创建400个线程CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_VM
和$ lsof | wc -l在运行后向我展示了60万个打开的描述符
我需要做什么?
如果你正在使用CLONE_FILES
,你可能不需要做任何事情。
lsof
显示每个线程持有的文件描述符的总和,即使这些不同的线程在后端共享一组文件描述符。因此,如果您拥有1000个共享100个文件描述符的线程,那么如果您只使用lsof
进行检查,则会打开100,000个文件描述符。
检查/proc/sys/fs/file-nr
以查看系统已打开的实际文件描述符数。
至于是否存在可以确定唯一文件描述符列表以及打开它们的进程/线程的工具,我不确定。我自己从来不需要这样做,但它似乎是一个没有人划伤的问题。