当前位置: 技术问答>linux和unix
在linux RH73下为什么单进程只能开1021个线程线程.
来源: 互联网 发布时间:2015-01-05
本文导语: | 运行limit(RedHat中),可以看到对系统对进程的限制。可以打开的文件描述符合文件数目默认都是1024,其中三个为标准输入、输出和错误,所以可以使用的只有1021个。不过我认为线程数目和这些应该没有关系,在H...
|
运行limit(RedHat中),可以看到对系统对进程的限制。可以打开的文件描述符合文件数目默认都是1024,其中三个为标准输入、输出和错误,所以可以使用的只有1021个。不过我认为线程数目和这些应该没有关系,在HP-UX系统中,是通过管理工具设置内核来支持更多的线程的,而Linux如何设置我不知道,你可以先用limit命令设置一下试一试。
|
1。给select设置超时,周期检测,不要永久阻塞
2。用一个select完成用户接入,数据接收工作,如果你不需要进行磁盘操作,你所作的工作,其实用单线程方式效率最高(单处理器),否则可启动一个线程池完成工作
2。用一个select完成用户接入,数据接收工作,如果你不需要进行磁盘操作,你所作的工作,其实用单线程方式效率最高(单处理器),否则可启动一个线程池完成工作
|
受最多打开文件的限制。
运行unlimit,也许可以提高到 4096-3 个。
运行unlimit,也许可以提高到 4096-3 个。
|
使用system v 支持的poll,比select 更高效。
|
只有root用户才可以改变自己的ulimit文件描述符限制,改变之后select 是可以接入几千个用户连接。