ulimit 是一个用于控制 shell 进程资源使用的命令行工具。在 Ubuntu 系统中,它可以用来限制用户进程可以打开的文件描述符数量、进程数等。对于并发连接数,ulimit 主要通过限制文件描述符的数量来影响。
每个网络连接都需要一个文件描述符,因此 ulimit 设置的文件描述符限制会直接影响并发连接数。你可以使用以下命令查看当前的文件描述符限制:
ulimit -n
要更改文件描述符限制,可以使用以下命令:
ulimit -n <新的限制值>
例如,要将文件描述符限制更改为 4096,可以执行:
ulimit -n 4096
需要注意的是,这个限制仅对当前 shell 会话有效。要永久更改限制,需要修改 /etc/security/limits.conf 文件。在该文件中,可以为用户或用户组设置文件描述符限制,例如:
* soft nofile 4096
* hard nofile 4096
这将把所有用户的软硬文件描述符限制设置为 4096。
另外,如果你想要查看系统级别的并发连接数限制,可以查看 /proc/sys/net/core/somaxconn 文件:
cat /proc/sys/net/core/somaxconn
要更改此值,可以使用以下命令:
sudo sysctl -w net.core.somaxconn=<新的限制值>
例如,要将最大连接数更改为 65535,可以执行:
sudo sysctl -w net.core.somaxconn=65535
同样,要永久更改此值,需要修改 /etc/sysctl.conf 文件,添加或修改以下行:
net.core.somaxconn = 65535