Linux系统中的最大进程数,最大文件描述,最大线程数

linux系统参数

单机支持上万链接,还须要修改系统参数,两个层面,一个是全局的文件句柄,还有一个是单进程的文件句柄,linux

全局限制bash

在 Linux 下执行:服务器

cat /proc/sys/fs/file-nrspa

会打印出相似下面的一行输出:.net

5100 0 101747进程

第三个数字 101747 就是当前系统的全局最大打开文件数(Max Open Files), 能够看到, 只有 10 万, 因此, 在这台服务器上没法支持超过10W的链接. 不少系统的这个数值更小, 为了修改这个数值, 用 root 权限修改 /etc/sysctl.conf 文件:ip

fs.file-max = 1000000 net.ipv4.ip_conntrack_max = 1000000 net.ipv4.netfilter.ip_conntrack_max = 1000000it

须要重启系统服务生效:io

$ sudo sysctl -p /etc/sysctl.conf登录

进程限制

执行:

ulimit -n

输出:

1024

说明当前 Linux 系统的每个进程只能最多打开 1024 个文件. 为了支持更多链接, 你一样须要修改这个限制.

临时修改

ulimit -n 1000000

不过, 若是你不是 root, 可能不能修改超过 1024, 会报错:

-bash: ulimit: open files: cannot modify limit: Operation not permitted

永久修改

编辑 /etc/security/limits.conf 文件, 加入以下行:

# /etc/security/limits.conf work hard nofile 1000000 work soft nofile 1000000

第一列的 work 表示 work 用户, 你能够填 *, 或者 root. 而后保存退出, 从新登陆服务器.

 

https://mp.weixin.qq.com/s/7uem8pLeHu8aeNu7n99NdQ

相关文章
相关标签/搜索