[TOC]
### **/etc/security/limits.conf**
该文件会影响某个用户下的进程,可以简单理解为该用户下的单个进程的打开文件数上限。设置方法如下(在文件末尾添加一行即可):
```
docker - nofile 65535 # 为docker用户设置
```
如果为所有用户设置,则如下:
```
* - nofile 65535
```
### **/etc/security/limits.d/**
该目录下的文件中的配置会覆盖/etc/security/limits.conf的值
### **/etc/systemd/system.conf**
该文件会影响以systemd管理的进程(即xxx.service),比如docker服务如果是用systemd管理,那么dockerd进程的打开文件数会受到该文件的影响,设置方法如下(在文件末尾添加如下一行):
```
LimitNOFILE=65536
```
### **/etc/systemd/system.d/**
该目录下的文件的值会覆盖/etc/systemd/system.conf中的值
### **/usr/lib/systemd/system/xxx.service**
```
[Service]
LimitNOFILE=65536
```
### **容器**
容器中的进程是以root用户运行的,但是容器中的进程的打开文件数上限,是由docker的启动参数控制的,该参数的默认值为65536, 所以容器中的进程的打开文件数与上述的配置没有关系。
比如,我们可以通过以下的方式来修改容器中进程的Soft NoFile与Hard NoFile都为1048576
```
$ dockerd --default-ulimit nofile=1048576:1048576
```
### **查看进程的文件句柄数上限**
```
$ cat /proc/<pid>/limits
```
### **查看进程打开的文件句柄数**
```
$ ls -l /proc/<pid>/fd | wc -l
```
- 常用命令
- 用户与用户组
- 创建用户与用户组
- 快速脚本
- umask
- Yum源
- 基础Yum源
- Epel源
- 制作Yum源
- 同步Yum源
- 为Yum源配置代理
- 下载RPM及依赖
- 系统与内核
- 获取内核的rpm包
- 升级内核
- Iptables
- 基本语法
- 匹配条件
- 基础匹配条件
- 扩展匹配条件
- Addrtype
- Set
- TCP
- Mark
- Multiport
- 目标
- 基本目标
- 扩展目标
- DNAT
- LOG
- CT
- NOTRACK
- MARK
- IP set
- 连接追踪
- 初识连接追踪
- 连接追踪详解
- NAT
- 思路与参考汇总
- 数据结构
- FAQ
- Keepalived
- 单网卡多VIP
- 安装Keepalived
- 双网卡绑VIP
- 别名VIP和辅助VIP
- LVS
- 安装LVS
- Ipvsadm命令
- 磁盘与分区
- 基础知识
- 创建分区
- 格式化与挂载
- Fstab
- LVM
- LVM扩容
- Swap分区
- Tmpfs
- 网络相关
- 重命名网卡
- resolv.conf
- Tcpdump
- nslookup与dig
- ifcg-xxx
- 主机名
- 软件安装
- NFS
- Squid
- Redsocks
- Shadowsocks
- 时钟同步
- Chrony
- FTP
- 文件句柄
- 简介
- 设置文件句柄
- 其他
- SSH密钥登录
- 进程组-会话-终端
- X11转发
- 环境变量
- 常见问题
- 系统进程数
- 系统调用
- 系统调用FAQ
- 用户程序如何进行系统调用