合 Linux中的soft nproc 、hard nproc、soft nofile、hard nofile、ulimit的最大进程数和最大文件数等说明
Tags: LinuxOSToo many open filesulimit最大文件数最大进程数
简介
"soft" 和 "hard" 的区别
Linux的 limit 限制分为2个策略:软限制和硬限制,硬限制就是实际的限制,而软限制是警告限制,它只会给出警告。
通过ulimit -a 可以查看当前所有的limit信息,-S 是软限制,-H是硬限制,默认是软限制:
soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。
hard xxx : 代表严格的设定,不允许超过这个设定的值。
如:soft 设为1024,hard设为2048 ,则当你使用数在1~1024之间时可以随便使用,1024~2048时会出现警告信息,大于2048时,就会报错。
1 2 3 4 5 6 7 8 9 | -- 查看 limit 软限制(等同于 ulimit -Sa): ulimit -a ulimit -Sa -- 查看 limit 硬限制: ulimit -Ha ulimit -Hu ulimit -Hn |
"nproc" 和 "nofile"的区别
nproc : 是操作系统级别对每个用户创建的进程数的限制(ulimit -u,最大进程数)
nofile : 是每个进程可以打开的文件数的限制(ulimit -n,最大文件数)
nofile对应open_files,最大文件数,太少会报错“too many open files”
nproc对应max_user_processes,最大进程数
正在运行中的文件句柄数和线程数
liunx中文件句柄有两种,一种是用户级的,一种是系统级的
文件句柄限制,就是规定的单个进程能够打开的最大文件句柄数量(Socket连接也算在里面,默认soft限制大小1024)
查看某个PID持有的句柄数,要查看某个进程目前打开的句柄数量:
1 2 | ls /proc/456220/fd | wc -l lsof -p 进程ID|wc -l |
查看某个进程句柄数量限制:
1 | cat /proc/2278/limits | grep files |