linux too many open files 问题总结
阅读原文时间:2023年07月09日阅读:1

问题描述:

kubernetes 集群使用promtail收集日志,发现一段时间有些机器日志收集不到查看promtail日志出现以下报错:

error="filetarget.fsnotify.NewWatcher: too many open files"

1、单个进程打开文件书过多,修改文件描述符

vim /etc/security/limits.conf
* soft nofile 100001
* hard nofile 100002
root soft nofile 100001
root hard nofile 100002

2、操作系统打开文件句柄数过多

整个操作系统可以打开的文件句柄数是有限的,受内核参数“fs.file-max”影响。

可以通过执行“echo 100000000 > /proc/sys/fs/file-max”命令来动态修改该值,也可以通过修改"/etc/sysctl.conf"文件来永久修改该值

3.修改inotify

[root@dell730-fm-100-2 ~]# sysctl fs.inotify.max_user_instances
fs.inotify.max_user_instances = 128
[root@dell730-fm-100-2 ~]# sysctl fs.inotify.max_user_instances=1024
fs.inotify.max_user_instances = 1024
[root@dell730-fm-100-2 ~]#