Linux下面单个进程能够打开的文件句柄的数目


环境:Linux

执行ulimit -n

默认的大小是1024.当然你也可以设置 ulimit -n 10240之类的

这个问题,让我直接痛苦了两天,并间接痛苦了一个礼拜。

一直觉得很奇怪,一个线程,仅仅是sleep 5秒钟,然后往一个文件里面写入一会儿数据,打开关闭一下的,为什么这个线程就会死掉呢?这个功能已经是极其简单了。

后来终于发现,原来是另外一个线程出的错,那个线程打开的文件句柄数目太多了,超过了1024,导致上述的简单线程,连打开文件都无法打开,而且还不报错,一直就僵死在那里了。

不得不说,这个问题很是变态。

相关内容