liinux 文件描述符问题 limit

参考:
https://www.jianshu.com/p/8fb056e7b9f8
centos7内核参数:http://smilejay.com/2016/06/centos-7-systemd-conf-limits/
总结:nginx

  1. 是分操做系统的,centos6 和 centos7的处理方法是不同的
  2. 不少的参数生效的范围是不同的

涉及的参数
ulimit其实就是对单一程序的限制,进程级别的
file-max是全部时程最大的文件数
nr_open是单个进程可分配的最大文件数 (这个够大了)centos

查看方式:
ulimit -n
cat /proc/sys/fs/nr_open
cat /proc/sys/fs/file-maxsocket

查看进程下的最大文件描述符是多少?是否生效了?
cat /proc/PID/limitside

liinux 文件描述符问题 limit

通常只要更改ulimit和file-max:
ulimit和file-max 更改方式:centos7

临时更改方式:操作系统

ulimit -n 102400
echo 102400 > /proc/sys/fs/file-max3d

永久更改方式(更改文件):blog

/etc/security/limits.conf 或者 /etc/security/limits.d/ 目录下的*.conf文件
liinux 文件描述符问题 limit进程

echo "fs.file-max = 102400" >> /etc/sysctl.confget

关于centos7 要作特殊的更改由于由使用Systemd替代了以前的SysV 因此,limit的配置对centos7的服务不生效

在单个进程下更改 某个服务的如: /usr/lib/systemd/system/nginx.service 增长文件描述符相关配置

[Service]
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000

常见报错:socket: too many open files

相关文章
相关标签/搜索