系统句柄数和进程句柄(max-file&ulimit -n)
Posted kiroct
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统句柄数和进程句柄(max-file&ulimit -n)相关的知识,希望对你有一定的参考价值。
max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。
ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的,最大65535
句柄不足可能会产生的问题:日志库无法采集到日志!!!
此处要说的是系统级别的句柄数max-file
相关的值:
fs.inotify.max_user_instances
fs.inotify.max_user_watches
计算公式:
fs.inotify.max_user_instances使用内存总量(bytes) = fs.inotify.max_user_instances 5KB = 8192 51024 = 41943040 bytes = 40MIB
64位系统:计算比例:fs.inotify.max_user_watches = fs.inotify.max_user_instances 64
1、已经安装系统手动更改方案,纯手动
```html/xml
#N为具体数字
echo "fs.inotify.max_user_watches=N " >> /etc/sysctl.conf
echo "fs.inotify.max_user_instances=N " >> /etc/sysctl.conf
/sbin/sysctl -p
手动查询是否生效:cat /proc/sys/fs/inotify/max_user_watches
cat /proc/sys/fs/inotify/max_user_instances
#如果 /etc/sysctl.conf先前已经存在设置的fs.inotify.max_user_watches=N和fs.inotify.max_user_instances=N ,记得先删除这些配置,再添加新的数值
2、使用ansible多机器自动化调整
```html/xml
#N为具体数字,下面的仅为task
- name: sysctl fs.inotify.max_user_instances
sysctl: name=fs.inotify.max_user_instances value=N
state=present
- name: sysctl fs.inotify.max_user_watches
sysctl: name=fs.inotify.max_user_watches value=N
state=present
以上是关于系统句柄数和进程句柄(max-file&ulimit -n)的主要内容,如果未能解决你的问题,请参考以下文章