linux。调用sys_clone时有许多文件描述符

时间:2018-08-31 14:28:38

标签: c++ linux clone

am使用带有标志SIGCHLD的克隆创建400个线程| CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_VM

和$ losf | wc -l在运行后向我显示600 000个打开的描述符

我需要做什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是CLONE_FILES,则可能不需要执行任何操作。

lsof显示每个线程保存的文件描述符的总和,即使这些不同的线程在后端共享一组文件描述符。因此,如果您有1000个线程与100个文件描述符共享,那么仅使用lsof进行检查,就会打开100,000个文件描述符。

选中/proc/sys/fs/file-nr,以查看系统已打开的文件描述符的实际数量。

关于是否存在可以确定唯一文件描述符列表以及打开了哪些进程/线程的工具,我不确定。我从来不需要自己做,但是这似乎是一个没有人抓到的问题。