【问题标题】:Max socket connections of one process UNIX一个进程 UNIX 的最大套接字连接数
【发布时间】:2010-08-31 23:21:10
【问题描述】:

我有一个 java 服务器(1 个进程),它为每个传入连接生成一个线程。我知道编译到内核中的文件描述符限制为 1024。

1个进程可以支持多少个socket连接有限制吗?

【问题讨论】:

    标签: java linux sockets tcp


    【解决方案1】:

    在 Linux 上查看/proc/sys/fs/file-max。 您可以将自己的价值呼应到其中。

    还要确保增加用户限制:ulimit -n

    在 BSD 上它将是 sysctl kern.maxfilessysctl kern.maxfilesperproc

    【讨论】:

      【解决方案2】:

      除了 hroptatyr 提到的操作系统文件句柄限制之外,您可能还需要确保在侦听器套接字上为连接积压使用提升的值。如果您的服务器应用程序暂时繁忙并且无法足够快地响应传入连接,这将允许更多连接在操作系统返回“连接被拒绝”之前排队。

      如果您在 Java 中使用 ServerSocket,您可以将所需的积压工作指定为构造函数的参数:

      ServerSocket server = new ServerSocket(listenPort, 50);

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 2019-02-12
      • 2015-07-20
      • 2019-02-28
      • 1970-01-01
      • 2011-12-27
      • 2012-08-07
      相关资源
      最近更新 更多