共计 1109 个字符,预计需要花费 3 分钟才能阅读完成。
liunx 中文件句柄有两个限度
一种是用户级的,一种是零碎级的(也叫内核级)
Linux 最大关上文件句柄数,即关上文件数最大限度,就是规定的单个过程可能关上的最大文件句柄数量(Socket 连贯也算在里面,默认大小 1024)
零碎级的最大限度:
cat /proc/sys/fs/file-max
用户级的最大限度
ulimit -n(默认是 1024,向阿里云华为云这种云主机个别是 65535)
查看某个过程的最大关上文件数和以后关上文件数
/proc/[pid]/limits 显示以后过程的资源限度
/proc/[pid]/fd 是一个目录,蕴含过程关上文件的状况
/proc/[pid]/task 查看某个过程的线程的详细信息
批改最大限度
用户级
用户级批改长期失效办法:(重启后生效)
ulimit -SHn 10000
ulimit 命令分软限度和硬限度,加 - H 就是硬限度,加 - S 就是软限度。默认显示的是软限度,如果运行 ulimit 命令批改时没有加上 - H 或 -S,就是两个参数一起扭转。硬限度就是理论的限度,而软限度是正告限度,它只会给出正告
用户级批改永恒无效形式:
vi /etc/security/limits.conf
批改配置文件 /etc/security/limits.conf,退出:
soft nofile 65535
hard nofile 65535
echo“* soft nofile 65535”>> /etc/security/limits.conf
echo“* hard nofile 65535”>> /etc/security/limits.conf
示意所用的用户,但有的零碎不认, 须要具体的用户名, 比方:
root soft nofile 65535
root hard nofile 65535
从新登录验证,或者 reboot 后验证。
零碎级
其实下面的批改都是对一个过程关上的文件句柄数量的限度,咱们还须要设置零碎的总限度才能够。
如果,咱们设置过程关上的文件句柄数是 1024,然而零碎总限度才 500,所以所有过程最多能关上文件句柄数量 500。从这里咱们能够看出只设置过程的关上文件句柄的数量是不行的。所以须要批改零碎的总限度才能够
零碎级批改长期失效形式:
echo 655350 > /proc/sys/fs/file-max
零碎级批改永恒失效形式:
vi /etc/sysctl.conf
退出
零碎容许关上最大文件数
fs.file-max=655350
过程容许关上最大文件数,这里留神 nr_open 要比 nofile 大,否则会呈现登录不上
fs.nr_open=60000
sysctl -p
查看是否失效,如果不行,reboot 即可。
参考链接:
3 Ways to Fix Too Many Open Files