接続ごとに1つのスレッドを作成するネットワークアプリ(ポンドなど)の場合、スレッド数は、サーバーできる同時接続数のボトルネックになる可能性があります。
私はFreeBSD8 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に設定しましたが、悪影響は見られませんでした。ポンドは数回そこに到達しました(そうしている間に2GBのRAMを食べます)。