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