摘要:
最近一个群里同志问了个问题,运行一个网络服务程序是提示打开的文件太多,是个多进程的程序,当时想到的是链接太多用尽了进程的文件描述符,又不知道具体的系统限制的值是多少所以用sysconf(3)测试了一下:sysconf(_SC_OPEN_MAX);,我的系统是ubuntu10.10,结果是1024。仔细查了下APUE,书中的linux kernel是2.4版本的,最大文件数限制也是1024,同时查到进程最大创建的子进程数目是999,因为socket链接是要占用文件描述符的,所以太多链接是会耗尽进程的描述符导致错误的。然后又搜索了下此限制的一些处理方法,不去更改服务器的设计,找到一个比较详细的.. 阅读全文