失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux并发控制方法 linux系统并发控制

linux并发控制方法 linux系统并发控制

时间:2022-04-18 03:31:35

相关推荐

linux并发控制方法 linux系统并发控制

在linux在网络应用中的并发控制是linux构建网络服务的基础,下面列出linux并发控制的点

文件打开数量控制

1.进程文件打开数量控制

ulimit -n显示当前用户每个进程允许打开的最大文件数,可以用ulimit –n

修改这个数值。linux默认是1024

这1024个文件,包括进程监听的进程,进程间通信的进程,标准输出,标注输入,标准错误文件句柄等,实际上对外的连接处理能力要小于1024。要扩展进程的并发能力,首先要对这个限制进行设置。如果系统返回”Operation

notpermitted”之类的错误。说明设置未成功,可能是没有权限等。

2.用户打开文件数量控制

1.linux

还通过每个用户打开的文件数量限制,这个限制通过软限制和硬限制实现。需要实现高并发,还是对软限制和应限制进行设置。这个限制在/etc/security/limits.conf里面设置。

domaintypeitemvalue

spengsoftnofile10240

spenghardnofile10240

上面两行是一个示例第一列domain可以是一个用户,或者用户组,用正则表达式*可以表示任意的用户;第二列type有两个值,一个是soft,一个是hard分别软限制和硬限制;第三列item表示限制项目nofile定义为最大打开的文件数目。软限制要小于等于应限制。(超过软限制可能还能继续打开文件,但是绝对不能超过应限制)

如果一个用户打开10个进程,10个进程打开的文件句柄总数不能超过linux系统的软限制。

上面的设置好了之后,需要对系统配置,每次启动的时候设置模块。

2.session required /lib/security/pam_limits.so

这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的

最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。修改完

后保存此文件。

3.系统打开文件数量控制

linux还通过系统的全局文件最大文件打开数量做出限制,可以用命令cat

/proc/sys/fs/file_max查看系统设置的最大文件打开数量,这个限制是linux的硬限制,一般不应该修改,如果有必要修改,需要在/etc/rc.local脚本,添加如下echo

xxxx

>/proc/sys/fs/file_max。其中xxxx表示要设置的数值,也可以通过其他脚本设置,,另外注意/etc/profile文件是否对打开文件数做出了设置。修改后,重启计算机可以用ulimit

-a查看各项限制。

4.修改网络内核对并发的限制

设置好上述之后如果还发生连接失败的情况,达不到理想的并发数可能有如下几种情况:

1.linux

网络内核对本地端口范围进行了限制。设置此选项的办法是修改/etc/sysctl.conf。在文件中添加或者修改下面的行

net.ipv4.ip_local_port_range = 1024 65000

添加后保存文件,并运行sysctl –p

系统不提示错误表示设置成功。这样系统就可以建立65000的并发连接,(本地端口号最小值必须大于1024)

2.第二种可能是linux内核的ip_table的对最大tcp连接的跟踪的限制,这个修改在/etc/sysctl.conf中,添加如下行net.ipv4.ip_conntrack_max

= 10240。保存文件后,执行sysctl -p,系统不返回错误表示执行成功。

如果觉得《linux并发控制方法 linux系统并发控制》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。