服务器使用流行的Linux操作系统,若要在此服务器下单机支持超大规模的长连接,方法如下:
1. 用户进程级别:
修改每个进程可打开的文件数,缺省值是 1024。
ulimit -n 1000000
若要同时修改软硬限制,可以使用:
ulimit -SHn 1000000
备注:
ulimit 命令分软限制和硬限制,加-H就是硬限制,加-S就是软限制。默认显示的是软限制,如果运行ulimit 命令修改时没有加上-H或-S,就是两个参数一起改变。硬限制就是实际的限制,而软限制是警告限制,它只会给出警告。
以上为临时生效。
若要永久改变每个进程可以打开的最大文件数,可以修改文件:
/etc/security/limits.conf
2. 操作系统级别:
修改操作系统级别能打开的最大文件个数,方法如下:
echo 1000000 > /proc/sys/fs/file-max
此为临时生效。若需永久生效,可以如下:
修改/etc/sysctl.conf
3. 将socket的接收与发送缓冲区变小。
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
欢迎关注。助您在编程路上越走越好!