Freebsd
增加 FreeBSD 執行緒
對於每個連接創建一個執行緒的網路應用程序(如 Pound),執行緒數可能成為您可以服務的並發連接數的瓶頸。
我正在執行 FreeBSD 8 x64:
$ sysctl kern.maxproc kern.maxproc: 6164 $ sysctl kern.threads.max_threads_per_proc kern.threads.max_threads_per_proc: 1500 $ limits Resource limits (current): cputime infinity secs filesize infinity kB datasize 33554432 kB stacksize 524288 kB coredumpsize infinity kB memoryuse infinity kB memorylocked infinity kB maxprocesses 5547 openfiles 200000 sbsize infinity bytes vmemoryuse infinity kB pseudo-terminals infinity swapuse infinity kB
我想增加到
kern.threads.max_threads_per_proc
4096。假設每個執行緒以 512k 的堆棧大小開始,我還需要更改什麼以確保我不會對我的機器進行軟管處理?
FWIW,我將 kern.threads.max_threads_per_proc 設置為 4096 而沒有修改任何其他設置,並且沒有看到任何不良影響。Pound 甚至多次到達那裡(這樣做時消耗了 2GB 的 RAM)。