|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
關於Socket並發的問題
我寫了一個可以fock出很多進程的server,又寫了fock出150個連接的Client,為什麼啟動的時候,只有頭50個Client和Server建立了連接,而且根本沒有出錯?
是不是在SCO下一個進程fock的子進程數量有限? |
關於Socket並發的問題
你可以自己寫一個小程序測試一下
看看是不是fork只能是50個
或是使用DEBUG狀態看哪裡有問題 |
關於Socket並發的問題
在unix系統中,對於一個用戶環境,系統限制了能夠產生的子進程的數量(不包括被init收養)。一般的控制這個子進程的數量定義為一個宏,可更具實際需要修改這個參數(大多數系統中屬於核心參數的一部分),如hp-unix中由maxuprc決定,maxuprc<=nproc-4,nproc=20+8*MAXUSERS。當然unix系統本身也有對系統所能接受的進程的限制。 |
關於Socket並發的問題
在unix系統中,對於一個用戶環境,系統限制了能夠產生的子進程的數量(不包括被init收養)。一般的控制這個子進程的數量定義為一個宏,可更具實際需要修改這個參數(大多數系統中屬於核心參數的一部分),如hp-unix中由maxuprc決定,maxuprc<=nproc-4,nproc=20+8*MAXUSERS。當然unix系統本身也有對系統所能接受的所有進程的最大數量的限制。 |
關於Socket並發的問題
32位的操作系統,一般可以支持4096個進程 |
| |