Freebsd

增加 FreeBSD 執行緒

  • February 22, 2015

對於每個連接創建一個執行緒的網路應用程序(如 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_proc4096。假設每個執行緒以 512k 的堆棧大小開始,我還需要更改什麼以確保我不會對我的機器進行軟管處理?

FWIW,我將 kern.threads.max_threads_per_proc 設置為 4096 而沒有修改任何其他設置,並且沒有看到任何不良影響。Pound 甚至多次到達那裡(這樣做時消耗了 2GB 的 RAM)。

引用自:https://serverfault.com/questions/134616