問題描述:
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 ~]#