Linux系统ulimit值的正确设置方法

时间:2022-06-14 05:01:24
学习swoole的时候有一个max_conn参数, 

max_conn 

描述:服务器允许维持的最大TCP连接数 

说明:设置此参数后,当服务器已有的连接数达到该值时,新的连接会被拒绝。另外,该参数的值不能超过操作系统ulimit -n的值,同时此值也不宜设置过大,因为swoole_server会一次性申请一大块内存用于存放每一个connection的信息。这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器很容易就达到这个数量。 

  正确设置Linux的ulimit -n的值的步骤如下: 

  1.先用命令ulimit -n 查看目前的值 

  2. vim /etc/security/limits.conf 

    建议把下面两项都设置为65535 

    * soft nofile 65535 

    * hard nofile 65535 

    (前面的*星号代表全局,针对所有的用户;nofile代表文件句柄数量;soft nofile的值不能超过hard nofile的值) 

  3.重启Linux系统 

    命令:shutdown -r now 表示立即重启 

Linux系统查看物理CPU个数、核数,逻辑CPU个数的方法如下所示:

学习swoole的时候,建议开启的worker进程数为cpu核数的1-4倍。于是就学习怎么查看CPU核数 

# 查看物理CPU个数 

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 

# 查看每个物理CPU核数 

cat /proc/cpuinfo| grep "cpu cores"| uniq 

# 查看逻辑CPU个数 

cat /proc/cpuinfo| grep "processor"| wc -l# 查看CPU信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c