注册

如何修改 Linux 系统用户最大打开文件限制?

一、文件数限制更改1、用户级别查看Linux系统用户最大打开文件限制:#ulimit-n1024(1)vi/etc/security/limits.confmysqlsoftnofile10240mysqlhardnofile10240其中mysql指定了要更改那个用户的打开文件数限制。可用'*'号表示更改所有用户的限制;soft或hard指定要更改软限制还是硬限制;10240则指定了想要更改的新的限制值,即最大打开文件数(请注意软限制值要大于或等于硬限制)。(2)vi/etc/pam.d/loginsessionrequired/lib/security/pam_limits.so这是告诉Linux在用户完成系统登陆后,应当调用pam_limits.so模块来设置系统对该用户可使用的各类资源数目的最大限制(包括用户可打开的最大文件数限制)。而pam_limits.so模块都会从/etc/security/limits.conf文件中读取配置来设置这种限制值。2、Linux系统级别查看Linux系统对同时打开文件数的硬限制:#sysctl-a|grepfile-maxfs.file-max=65535这表明这台Linux系统最多容许同时打开(即包含所有用户打开文件数总和)65535个文件linux tcp连接数限制linux运维博客,是Linux系统级硬限制,所有用户级的打开文件数限制都不会超过这个数值。

一般这个系统级硬限制是Linux系统在启动时按照系统硬件资源状况估算下来的最佳的最大同时打开文件数限制。(1)vi/etc/sysctl.conffs.file-max=1000000立刻生效:#sysctl-p二、网络端口限制更改查看Linux系统最大追踪TCP联接数目:#sysctl-a|grepipv4.ip_conntrack_maxnet.ipv4.ip_conntrack_max=20000这表明系统将对最大跟踪的TCP联接数限制默认为20000。查看Linux系统端口范围:#sysctl-a|grepipv4.ip_local_port_rangenet.ipv4.ip_local_port_range=102430000注意:每位TCP顾客端联接都要占用一个惟一的本地端标语(此端标语在系统的本地端标语范围限制中),假如现有的TCP顾客端联接已将所有的本地端标语占满。将不能创建新的TCP联接。(1)vi/etc/sysctl.confnet.ipv4.ip_local_port_range=102465535net.ipv4.ip_conntrack_max=20000若果按上述端口范围进行设置adobe air linux,则理论上单独一个进程最多可以同时完善60000多个TCP顾客端联接。

若果按上述参数进行设置,则理论上单独一个进程最多可以同时完善20000多个TCP顾客端联接。备注:对mysql用户可同时打开文件数设置为10240个;将Linux系统可同时打开文件数设置为1000000个(一定要小于对用户的同时打开文件数限制);将Linux系统对最大追踪的TCP联接数限制为20000个(然而,建议设置为10240;由于对mysql用户的同时打开文件数早已限制在10240个;且较小的值可以节约显存);将linux系统端口范围配置为1024~30000(可以支持60000个以上联接linux tcp连接数限制,不建议更改;默认早已支持20000个以上联接);综合上述四点,TCP联接数限制在10140个。这10240个文件中还得去除每位进程必然打开的标准输入,标准输出,标准错误,服务器窃听socket,进程间通信的unix域socket等文件。

因而,当须要对TCP联接数进行调整时只须要调整ulimit参数。

Linux下查看tcp联接数及状态命令:

netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'

以上就是如何修改 Linux 系统用户最大打开文件限制?的详细内容,更多请关注CTO智库其它相关文章!