kangle发现后台连接数锁了65535个怎么办,系统看到连接数40W,kangle却跑不上去ulimit
最大连接数是操作系统限制了。这个可以通过ulimit -n 1048576
去调整进程最大打开文件数。
基础没学好吧。
操作系统有一个锁定进程最大打开文件数。
运行完ulimit修改后,要把kangle重起。
/vhs/kangle/bin/kangle -q
/vhs/kangle/bin/kangle
系统默认1024个ulimit -a指令可以看到。也就是最大可以打开65535个文件连接数端口,大概吧!
ulimit -n 1048576修改是一个临时的方案,系统重启后会恢复默认,直接来改文件解决,s代表软件,h代表内核。
ulimit -n 1048576
echo "* soft nofile 1048576" >> /etc/security/limits.conf
echo "* hard nofile 1048576" >> /etc/security/limits.conf
系统最大值应该是ulimit -n 1048576、至少我这台是的。系统内核上会超过提示,可以用dmesg 查看日志
-bash: ulimit: open files: cannot modify limit: Operation not permitted
一般系统默认足够使用了,默认1024已经需要5.5G左右的内存来运行这65535个连接数
除非配置高内存多,或者实在觉得不够用了,比如说CC攻击之类,可以开大,但是前提内存要够,不然服务器直接死机。
也可以使用ulimit -c unlimited这种格式来代替数字,代表无限core文件大小限制(注意这个是c,用途不一样),默认为0代表不生成core文件在根目录
注意。低于1G内存的最大设置是ulimit -n 800000,不能超过,否则一些软件无法启动工作,例如squid。
类似的系统限制还有cat /proc/sys/fs/file-max,如无特殊需求保持默认
echo -ne "* soft nofile 1048576\n* hard nofile 1048576\n" >>/etc/security/limits.conf
当然这样添加效果也是一样的,写成一行代码,自己看着办需求。
页:
[1]