sh-*_*eta 5 freebsd threads sysctl
对于每个连接创建一个线程的网络应用程序(如 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
Run Code Online (Sandbox Code Playgroud)
我想增加到kern.threads.max_threads_per_proc
4096。假设每个线程以 512k 的堆栈大小开始,我还需要更改什么以确保我不会给我的机器灌水?
FWIW,我将 kern.threads.max_threads_per_proc 设置为 4096,没有修改任何其他设置,并且没有看到任何不良影响。Pound 甚至出现过几次(同时消耗了 2GB RAM)。
归档时间: |
|
查看次数: |
2498 次 |
最近记录: |