增加 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_proc4096。假设每个线程都以 512k 的堆栈大小开始,我还需要更改什么才能确保不会损坏我的机器?

答案1

顺便说一句,我将 kern.threads.max_threads_per_proc 设置为 4096,没有修改任何其他设置,也没有看到任何不良影响。Pound 甚至几次达到这个值(这样做会占用 2GB 的 RAM)。

相关内容